Vlastní filtry curlyBrackets

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Tomik
Nette Evangelist | 485
+
0
-

Pokud použuji v šablonách vlastní filtry pro curlyBrackets, např.

<?php
  TemplateFilters::$curlyXlatSimple["mujFramework"] = "Nette";
?>

pak se v šabloně řetězec ´{mujFramework}´ nahradí za ´{Nette}´, nějak jsem předpokládal, že by se to mělo nahradit jen za ´Nette´.

Je to bug, nebo jsem něco nepochopil? :)

_Martin_
Generous Backer | 679
+
0
-

$curlyXlatSimple slouží jen pro jednoduché záměny, zde se {} nepoužívají. Více ti objsaní nahlédnutí na správné místo ve zdrojovém kódu.

Edit: Tak koukám, že se pletu já a jsem z toho taky vedle…

Editoval _Martin_ (26. 11. 2008 16:11)

Tomik
Nette Evangelist | 485
+
0
-

_Martin_ napsal(a):

$curlyXlatSimple slouží jen pro jednoduché záměny, zde se {} nepoužívají. Více ti objsaní nahlédnutí na správné místo ve zdrojovém kódu.

Edit: Tak koukám, že se pletu já a jsem z toho taky vedle…

No, já si právě taky nejsem jistej, viz https://doc.nette.org/…late-filters#…. :)

kravčo
Člen | 721
+
0
-

Tomik napsal(a):

Pokud použuji v šablonách vlastní filtry pro curlyBrackets, např.

<?php
  TemplateFilters::$curlyXlatSimple["mujFramework"] = "Nette";
?>

pak se v šabloně řetězec ´{mujFramework}´ nahradí za ´{Nette}´, nějak jsem předpokládal, že by se to mělo nahradit jen za ´Nette´.

Tu je chyba v úvahe, totiž v šablóne sa nahrádza text „mujFramework“ za text „Nette“ a kučeravé zátvorky tam akosi ostanú… správne by to teda malo byť:

TemplateFilters::$curlyXlatSimple["{mujFramework}"] = "Nette";

Je tomu tak, pretože $curlyXlatSimple slúži na jednoduché nahrádzanie reťazcov bez použitia regulárneho výrazu (napr. na „{else}“ → „<?php else: ?>“, {/if} → „<?php endif ?>“ a pod.).

Je to bug, nebo jsem něco nepochopil? :)

Len blbá úvaha, bug to nie je a hlavu z toho vešať nemusíš ;)

kravčo
Člen | 721
+
0
-

Tomik napsal(a):

_Martin_ napsal(a):

$curlyXlatSimple slouží jen pro jednoduché záměny, zde se {} nepoužívají. Více ti objsaní nahlédnutí na správné místo ve zdrojovém kódu.

Edit: Tak koukám, že se pletu já a jsem z toho taky vedle…

No, já si právě taky nejsem jistej, viz https://doc.nette.org/…late-filters#…. :)

Dokumentáciu som opravil, no rozdielne definovanie kľúčov v týchto dvoch poliach môže byť mätúce i naďalej…

Tomik
Nette Evangelist | 485
+
0
-

Len blbá úvaha, bug to nie je a hlavu z toho vešať nemusíš ;)

Moje blbá úvaha byla založena na blbé dokumentaci, takže se věšet rozhodně nebudu… ;)

No, jsem rád, že se to vyřešilo, díky!

Edit: ne, že by byla dokumentace blbá celá, jen jsem trochu podrážděně reagoval na zmínku a o mé blbé úvaze, kterážto vycházela v dokumentace, tak jsem chudinku dokumentaci pohanil, to si nezaslouží, je totiž vynikající, byla tam jen malá chybička, omlouvám se tedy tímto chudince dokumentaci. :)

Editoval Tomik (26. 11. 2008 17:04)

Honza Marek
Člen | 1664
+
0
-

Pardon, to byla moje blbá úvaha. Když jsem to dokumentoval, tak jsem měl vyzkoušené jen ty curlyBrackets složitější a nenapadlo mě, že u simple je to jinak.

David Grudl
Nette Core | 8154
+
0
-

kravco napsal(a):

Dokumentáciu som opravil, no rozdielne definovanie kľúčov v týchto dvoch poliach môže byť mätúce i naďalej…

Nojo, je to totiž vývojová verze. Já ty pole spojím do jednoho, co vy na to?

David Grudl
Nette Core | 8154
+
0
-

BC change: pole jsem spojil do jednoho, $curlyXlatSimple už neexistuje.