ifset a n:block skončí vyjímkou
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- ondraondra81
- Člen | 82
Ahoj,
tak nějak tomu nerozumím proč to tak je,
ale když mám v latte
{ifset $page}
...
<h1 n:block="title">{$page->title}</h1>
.....
{/ifset}
a není definovaná $page, tak to spadne na vyjímce.
Našel jsem nějaké info tady na fóru, že je to vlastnost, ale vlákna jsou 3 a více let stará.
jě nějaká možnost jak to řešit?
- Pavel Kravčík
- Člen | 1196
Tohle nejde?
{if isset($page)}
Ale ifset jsem nedávno někde v 2.3.2 použil a fungovalo to dobře.
- David Matějka
- Moderator | 6445
tak to spadne na vyjímce.
jake?
ale podminene definovat bloky nejde..
- ondraondra81
- Člen | 82
jake?
Undefined variable: page
ale podminene definovat bloky nejde..
nechápu proč to nejde/nefuguje
budu to muset řešit nějak jinak
- ondraondra81
- Člen | 82
tak jako nejlepší řešení se ukázalo udělat dvě šablony a
použít $this->setView()
- ondraondra81
- Člen | 82
ne $page je definovaný v presenteru
public function renderShow($categoryId, $pageId = NULL)
{
/** @var Entity\Category $category */
$category = $this->catMan->findBySlug($categoryId);
$this->setView('showCategory');
$this->template->category = $category[0];
if(! is_null($pageId)) {
$page = $this->pageMan->findBySlug($pageId);
$this->template->page = $page[0];
$this->setView('showPage');
}
}
- David Grudl
- Nette Core | 8239
Ifset nema na definici bloku vliv, blok vznikne, jako by tam ifset vubec nebyl.