Webalize v generovani link
- saimons
- Člen | 293
Chtel bych se zeptat proc mi toto nefunguje a popripade jak by se to dalo elegantne vyresit. Hlasi mi to chybu: error-no-route-for-front-news-default-typearticle-… Pokud pouziji bey webalize tak vse funguje spravne.
bootstrap.php
<?php
$router[] = new NRoute('index.php', array(
'module' => 'Front',
'presenter' => 'Articles',
'action' => 'default',
), NRoute::ONE_WAY);
$router[] = new NRoute('<typeArticle>.html', array(
'module' => 'Front',
'presenter' => 'Articles',
'action' => 'default',
'typeArticle' => 'domaci-stranka',
));
$router[] = new NRoute('<newsID>/<typeArticle>.html', array(
'module' => 'Front',
'presenter' => 'News',
'action' => 'default',
));
?>
template
<?php
{foreach $news as $new}
<h5>{!$new->nadpis}</h5>
<h6>{!$new->datum|date:'%d. %m. %Y'}</h6>
{!$new->textShort}
{if $new->textComplet != ''}<p><a href="{link :Front:News:, $new->nadpis|webalize, $new->id}">Více...</a></p>{/if}
{/foreach}
?>
- westrem
- Člen | 398
V prvom rade len odporucenie, pouzi v definicii routy pre Id podmienku
[0-9]+
aby to bralo len cisla, vyhnes sa par bezpecnostnym
rizikam.
Dalej dalsia vec co som si vsimol, v definicii pre routu mas najskor Id az
potom nazov clanku, v parametroch pre {link ..}
to mas ale
opacne.
V neposlednom rade som si isty, ze takto helpery asi nefunguju a musis napisat
{$new->nadpis|webalize}
tzn vysledok:
<?php
{foreach $news as $new}
<h5>{!$new->nadpis}</h5>
<h6>{!$new->datum|date:'%d. %m. %Y'}</h6>
{!$new->textShort}
{if $new->textComplet != ''}<p><a href="{link :Front:News:, $new->id, {$new->nadpis|webalize}}">Více...</a></p>{/if}
{/foreach}
?>
LatteFilter totiz inak nema ako vediet, ze chces ten nadpis webalizovat.
- saimons
- Člen | 293
Bohuzel toto nefunguje {$new->nadpis|webalize}, to poradi by nemelo vedit, mam to prohozene pak i v prezentru takze se to prenasi spravne. To omezeni pro cisla jsem zapomel, diky za upozorneni. Tak nevim jestli se to webalize muze vubec resit v template pri generovani url, mozna je to zapotrebu v prezentru? Ale pokud to dam mimo link {$new->nadpis|webalize} tak to bezproblemu funguje.