Jak manuálně prohnat kód latté filtrem?
- snakeeater
- Člen | 18
Zdravím,
na sve strance mam slozite menu a z urcitych duvodu ho potrebuji generovat pres
PHP. Generuji ho v hlavnim presenteru, ze ktereho dedi vsechny ostatni
presentery (jelikoz menu je na kazde strance). Vysledny kod jedne polozky menu
muze vypadat (osekane) nejak takto:
<?php
<a href="{plink Articles:create}">Vytvorit clanek</a>
?>
Jenomze kdyz tento kod predam pres nejakou promenou view a tuto promennou vypisu jako {$menu}, tak se mi vypise HTML kod jako text, tj. neni na strance preveden na jednotlive elementy stranky. Kdyz promennou vypisu jako <?php echo $menu ?>, tak makra uvnitr promenne nejsou zpracovana latté filtrem.
Zajimalo by me tedy, jak mohu tento kód manuálně latté filtrem prohnat, protože jinak mi odkaz směřuje na {plink Articles:create} a tak se samozřejmě nikam nedostanu.
Jakekoli alternativni reseni take uvitam
Dekuji za pomoc
PS: Zkousel jsem ten kod generovat primo v hlavni sablone a ani to nijak nepomohlo. Routovani a zpracovavani maker je ale jinak normalne v poradku.
- Vojtěch Dobeš
- Gold Partner | 1316
Jednou z možností je použití StringTemplate. Možná by ale lepší možností celkově bylo generovat menu nikoliv pomocí skládání HTML/Latte v Presenteru, ale přímo v šablonách. Dobrým příkladem může být Navigation od Honzy Marka – používám svou upravenou verzi, která se mi generuje podle zadání ve formě pole a pracuje se s tím skvostně.
- jtousek
- Člen | 951
Vykreslení menu parří do šablon. Pokud si nevystačíš s Latté filterm, v šablonách můžeš klidně použít přímo <?php … ?>. Případ dědičnosti o kterém mluvíš řeší použití šablon jako @layout.phtml. Všechna data, která pro to potřebuješ, by měl vytahat presenter a poslat šabloně. Dále můžeš zvážit vlastní komponentu pro menu nebo třeba nějaká vlastní Latté makra např. pro odkazy.