Nefunkční rekurze v adrese
- Petr Parolek
- Člen | 455
Ahoj, rád bych měl v vlastním CMS odkazy např. ve tvaru /kategorie/subkategorie/sub2, neomezený počet vnořených subkategorií.
V modelu mám metody:
public function fetchCategory($aId) {
$return = $this->database->table('web_articles')->where('id', $aId)->fetch();
return $return->category;
}
public function fetchPath($catId) {
$category = $this->database->table('web_menu_items')->where("id",$catId)->fetch();
$return = $category->alias;
$sub = $this->fetchSubPath($category->parent_id);
return $return;
}
v presenter mám:
$this->template->path = $this->database->fetchPath($catId);
Namísto celé cesty se mi objeví v url pouze poslední subkategorie.
Kde dělám chybu prosím?
Díky moc
- Petr Parolek
- Člen | 455
routy nyní nemám zaplé, neřeším je, chci tu cestu do parametru např. /article/show?path=kategorie/sub1/sub2
- Petr Parolek
- Člen | 455
<a href="{link Article:show $path,$article->id}-{$article->slug}">{$article->title}</a>
Editoval ppar (25. 6. 2015 22:09)
- Unlink
- Člen | 298
A to idčko ti do linku dá?
lebo teraz som to skúsil a fungovať by to malo:
Nech mám:
$this->template->path = '/kategorie/subkategorie/sub2';
$this->template->id = 1;
public function renderShow($path, $id)
a v latte
{link Homepage:show $path,$id}
dostanem očakávané
homepage/show/1?path=/kategorie/subkategorie/sub2
Určite nieje problém v tom modely a dostaneš celú cestu? Nemal by si tam mať
return $sub.'/'.$return;
Editoval Unlink (26. 6. 2015 9:43)
- David Matějka
- Moderator | 6445
@ppar tim @Unlink ukazuje, ze chyba neni v routovani ani ve
vytvareni odkazu, ale prave v modelu, kde mas promennou $sub
, se
kterou nic nedelas
- Petr Parolek
- Člen | 455
sorry, zapomněl jsem tu poslat druhou metodu:
public function fetchSubPath($catId) {
Debugger::barDump($catId);
//$articles = $this->database->table('web_articles')->where("catid",$catId)->fetch();
//Debugger::barDump($articles->catid->alias);
$category = $this->database->table('web_menu_items')->where("parent_id",$catId)->fetch();
$return = $category->alias;
//$return = $category-alias;
//Debugger::barDump($category);
Debugger::barDump($return);
return $return;
}
- Petr Parolek
- Člen | 455
@DavidMatějka
vím no… Nevím totiž, jak správně implementovat rekurzi.
Editoval ppar (26. 6. 2015 14:10)