route zacatecnicky dotaz
- pEeLL
- Člen | 23
Ahoj
jde mi o adresu ve tvaru domena.cz/nazevKategorie kde nazevkategorie se
dynamicky meni
dospel jsem k tomuhle
<?php
$router[] = new Route('<kategorie>', array(
'presenter' => 'Kategorie',
'action' => 'default',
));
?>
a samotna routa mi funguje ale co mi uz nefunguje je {plink Kategorie:default}
myslel jsem ze link se z toho routeru vezme opacnym zpusobem ale asi to byla spatna uvaha.
Diky za pomoc
- Ola
- Člen | 385
{plink Kategorie:default} Ti nefunguje, protože ta routa očekává další parametr – kategorii, kterou v tom linku nespecifikuješ. Mimochodem, to co jsi napsal jde napsat také jako {plink Kategorie:} (default si v routě specifikoval jako výchozí hodnotu pro action, nemusíš jí tedy psát)
To pole s parametry si prostě představ jako pole výchozích hodnot, řešením tvého problému je tedy to opravit na:
$router[] = new Route('<kategorie>', array(
'presenter' => 'Kategorie',
'action' => 'default',
'kategorie' => NULL,
));
- v presenteru potom budeš dostaneš jako hodnotu parametru kategorie NULL, což ale většinou není žádoucí (pokud ovšem nechceš zobrazovat všechny kategorie), vyřešit se to dá nahrazením hodnoty NULL jinou.
Ještě pozor na to, že takovou routu poté namatchuje i prázdná adresa – http://example.tld
EDIT: Ondrej byl rychlejší :-)
Editoval Ola (4. 7. 2009 15:45)
- pEeLL
- Člen | 23
Ondrej:
diky moc presne tohle jsem potreboval
Ola:
<?php ‚kategorie‘ ⇒ NULL, ?>
tohle je mi jasne a funguje – odkaz smeruje na domena.cz
<?php ‚kategorie‘ ⇒ ‚cokoliv‘, ?>
ale tohle mi udela uplne to stejne jako NULL – odkaz smeruje opet na
domena.cz
myslel jsem ze kdyz to tedy bude jako vychozi tak kdyz v linku nic nezvolim tak
byse melo zvolit to „cokoli“ a odkaz tedy smerovat na domena.cz/cokoli