Generování url a routování
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- mrataja
- Člen | 57
Dobrý den, prosím o radu ohledně generování linku a s tím spojené routování
V modelu mám testovací data:
<?php
$this->template->KategorieMenuItems = array(
array (1, 'Test', 'Test'),
array (2, 'Test1', 'Test1'),
array (3, 'Test2', 'Test2'),
);
?>
A v šabloně se snažím vykreslit menu
<?php
{foreach $KategorieMenuItems as $n => $kategorie}
<?php NDebug::barDump($kategorie[0], 'id kategorie'); ?>
<li><a href="{link 'Kategorie:default', $kategorie[0]}" title="{$kategorie[2]}">{$kategorie[1]}</a></li>
{/foreach}
?>
V bootstrapu mám:
<?php
$router[] = new NRoute('<presenter>[/<action>][/<id>]', 'Homepage:default');
$router[] = new NRoute('<presenter kategorie>/[/<id>]', array(
'action' => 'default',
'id' => NULL,
));
?>
Nechápu, proč ale dostávám tyto url
<li><a href="/www/kategorie" title="Test">Test</a></li>
<li><a href="/www/kategorie/1" title="Test1">Test1</a></li>
<li><a href="/www/kategorie/1" title="Test2">Test2</a></li>
Díky moc za jakoukoliv radu
Martin
Editoval mrataja (7. 2. 2011 19:28)
- mrataja
- Člen | 57
Jan Tvrdík napsal(a):
A jaké URL bys čekal?
Čekám id kategorie (testu) které obsahuje $kategorie[0]
<li><a href="/www/kategorie/1" title="Test">Test</a></li>
<li><a href="/www/kategorie/2" title="Test1">Test1</a></li>
<li><a href="/www/kategorie/3" title="Test2">Test2</a></li>
Věřím tomu, že je to nějaká úplná kravina a budu za blbce .. ale i po přečtení diskusí, „manu“ k link a routeru jsem to asi nepochopil.
Editoval mrataja (7. 2. 2011 21:46)
- h4kuna
- Backer | 740
ahoj,
<?php
//měl jsi lomítko navíc
$router[] = new NRoute('<presenter kategorie>[/<id>]', array(
'action' => 'default',
'id' => NULL,
));
?>
<li><a href="{link 'Kategorie:', id=>$kategorie[0]}" title="{$kategorie[2]}">{$kategorie[1]}</a></li>
nebo
<li><a n:href="Kategorie: id=>$kategorie[0]" title="{$kategorie[2]}">{$kategorie[1]}</a></li>
PS Odzkoušeno
Editoval matata (8. 2. 2011 4:09)