Problém v šabloně u definice filtru po upgrade nette na php 8.1
- Allconius
- Člen | 317
Ahoj,
po upgrade nette na php 8.1 mám problém s definicí filtru, v šabloně mám toto:
<div class="akce">{$post->id, $post->pocetmist, $post->idudalosti|obsazeno:''|noescape}</div>
a v presenteru definici filtru:
$this->template->addFilter('obsazeno', function ($id, $pocet, $udalost, $format = '') {
.....
}
ale pořád mi to píše chybu:
Latte\CompileException: Unexpected ',' (in '.../Homepage/default.latte' on line 33 at column 40) in /vendor/latte/latte/src/Latte/Compiler/TagParser.php:222
nechápu proč vadí že mám u toho filtru 3 proměnné oddělené čárkou ?
- Milo
- Nette Core | 1283
Filtr se aplikuje na jednu proměnnou (nebo blok), ta je mu předána jako první argument. Ostatní argumenty se uvádějí za:
<div class="akce">{$post->id|obsazeno: $post->pocetmist, $post->idudalosti |noescape}</div>
Spíš by se asi hodila funkce, tedy
addFunction('obsazeno', ...)
a
<div class="akce">{obsazeno($post->id, $post->pocetmist, $post->idudalosti)}</div>`.
- Allconius
- Člen | 317
Milo napsal(a):
Filtr se aplikuje na jednu proměnnou (nebo blok), ta je mu předána jako první argument. Ostatní argumenty se uvádějí za:
<div class="akce">{$post->id|obsazeno: $post->pocetmist, $post->idudalosti |noescape}</div>
Spíš by se asi hodila funkce, tedy
addFunction('obsazeno', ...)
a<div class="akce">{obsazeno($post->id, $post->pocetmist, $post->idudalosti)}</div>`.
Ahoj, díky moc, asi to zkusím vyřešit že si ty ostatní proměnné budu tahat až v definici filtru nebo tou funkcí
- Kcko
- Člen | 470
Případně si přečti můj starý topic a může to být i bez argumentu / argumentů, s úpravou aplikační logiky samozřejmě – https://forum.nette.org/…e-to-spravne
Editoval Kcko (6. 1. 2023 12:03)