Cannot include undefined block ‚vyber‘
- elkanio
- Člen | 13
Ahoj, mam stranku Profil kde jsou tri odkazy. Jeden bude formular, druhy popis, a treti konfigurace. Zvolil jsem cestu snippetů, ale jaksi s tim už válčím dlouho a nevím co s tím. Nechápu co mi uniká že mi to píše zrovna tuto chybu …
public function renderDefault(): void
{
$this->template->posts = $this->database->table('offer')->where("offer_or_need=? AND user_id=?", 1, $this->user->getId())
->order('created_at DESC')
->limit(15);
if($this->isAjax()){
$this->redrawControl('header');
}
}
Profil:default.latte
{block content}
<table>
<tr>
<td><a class="ajax" n:href="Profil:#main">Nabídky</a></td>
<td><a class="ajax" n:href="Profil:cando#main">CANDO</a></td>
<td><a class="ajax" n:href="Profil:setting#main">Nastavení</a></td>
</tr>
</table>
{snippet header}
<div id="main">
{include vyber}
</div>
{/snippet}
{/block}
Profil:setting.latte
{block vyber}
{if $user->loggedIn}
{form setterForm}
<!-- Jednoduché vykreslení chyb -->
<ul class="errors" n:if="$form->hasErrors()">
<li n:foreach="$form->errors as $error">{$error}</li>
</ul>
<table>
<tr>
<th>{label birthday /}</th>
<td>{input birthday}</td>
</tr>
<tr>
<th>{label about /}</th>
<td>{input about}</td>
</tr>
<tr>
<th>{label phone /}</th>
<td>{input phone}</td>
</tr>
<tr>
<th>{label adress /}</th>
<td>{input adress}</td>
</tr>
<tr>
<td><input n:name=send class="register"></td>
</tr>
</table>
{/form}
{/if}
{/block}
Include content mám v layout.latte.
Nevíte co dělám blbě? Nebo to celé chápu špatně? Dííky
Editoval elkanio (26. 8. 2020 18:25)
- David Grudl
- Nette Core | 8239
Netuší o existenci bloku vyber a vubec souboru setting.latte
.
Na zacatek jednoho z těch dvou dalších souborů doplň
{import setting.latte}
.
- elkanio
- Člen | 13
David Grudl napsal(a):
Netuší o existenci bloku vyber a vubec souboru
setting.latte
. Na zacatek jednoho z těch dvou dalších souborů doplň{import setting.latte}
.
Díky za radu. Ted jsem to tam pridal, ale zase je problém s blockem content, který includuju pouze v layout.latte. Jak je možné, že v layout.latte jsem to doted nemusel importovat? Nebo to nefunguje tak, že v blocích můžu mít vložený jiné bloky?
{import setting.latte}
{import cando.latte}
{block content}
<table>
<tr>
<td><a class="ajax" n:href="Profil:#main">Nabídky</a></td>
<td><a class="ajax" n:href="Profil:cando#main">CANDO</a></td>
<td><a class="ajax" n:href="Profil:setting#main">Nastavení</a></td>
</tr>
</table>
{snippet header}
<div id="main">
{include vyber}
</div>
{/snippet}
{/block}