Skip to content

Commit

Permalink
Latte: CacheExtension & FormExtension are added before user extensions [
Browse files Browse the repository at this point in the history
  • Loading branch information
dg committed Apr 6, 2024
1 parent 128b91e commit 1aba9da
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 11 deletions.
12 changes: 10 additions & 2 deletions src/Bridges/ApplicationDI/LatteExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
use Latte;
use Nette;
use Nette\Bridges\ApplicationLatte;
use Nette\DI\Definitions\Statement;
use Nette\Schema\Expect;
use Tracy;

Expand Down Expand Up @@ -67,6 +68,13 @@ public function loadConfiguration(): void
$latteFactory->addSetup('setStrictParsing', [$config->strictParsing])
->addSetup('enablePhpLinter', [$config->phpLinter]);

if ($cache = $builder->getByType(Nette\Caching\Storage::class)) {
$this->addExtension(new Statement(Nette\Bridges\CacheLatte\CacheExtension::class, [$builder->getDefinition($cache)]));
}
if (class_exists(Nette\Bridges\FormsLatte\FormsExtension::class)) {
$this->addExtension(new Statement(Nette\Bridges\FormsLatte\FormsExtension::class));
}

foreach ($config->extensions as $extension) {
$this->addExtension($extension);
}
Expand Down Expand Up @@ -146,10 +154,10 @@ public function addMacro(string $macro): void
}


public function addExtension(Nette\DI\Definitions\Statement|string $extension): void
public function addExtension(Statement|string $extension): void
{
$extension = is_string($extension)
? new Nette\DI\Definitions\Statement($extension)
? new Statement($extension)
: $extension;

$builder = $this->getContainerBuilder();
Expand Down
9 changes: 0 additions & 9 deletions src/Bridges/ApplicationLatte/TemplateFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,8 @@ public function createTemplate(?UI\Control $control = null, ?string $class = nul

if (version_compare(Latte\Engine::VERSION, '3', '<')) {
$this->setupLatte2($latte, $control, $presenter, $template);

} else {
$latte->addExtension(new UIExtension($control));

if ($this->cacheStorage && class_exists(Nette\Bridges\CacheLatte\CacheExtension::class)) {
$latte->addExtension(new Nette\Bridges\CacheLatte\CacheExtension($this->cacheStorage));
}

if (class_exists(Nette\Bridges\FormsLatte\FormsExtension::class)) {
$latte->addExtension(new Nette\Bridges\FormsLatte\FormsExtension);
}
}

// default parameters
Expand Down
1 change: 1 addition & 0 deletions tests/Bridges.DI/LatteExtension.basic.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ $extensions = Assert::with($latte, fn() => $this->extensions);
Assert::equal([
new Latte\Essential\CoreExtension,
new Latte\Sandbox\SandboxExtension,
new Nette\Bridges\FormsLatte\FormsExtension,
new MyExtension,
new MyExtension(1),
new MyExtension(2),
Expand Down

0 comments on commit 1aba9da

Please sign in to comment.