Cannot include undefined block ‚vyber‘

elkanio
Člen | 13
+
0
-

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 | 8082
+
+2
-

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
+
0
-

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}
David Grudl
Nette Core | 8082
+
0
-

Jaký problém

elkanio
Člen | 13
+
0
-

David Grudl napsal(a):

Jaký problém

Cannot include undefined block ‚content‘