Generování title z databáze a probublání do layoutu
- Petr Havlíček
- Člen | 4
Ahoj všem,
je to určitě nějak jednoduše řešitelné, ale asi něco přehlížím,
potřeboval bych jen nakopnout správným směrem.
Takže mám @layout.latte
<!DOCTYPE html>
<html lang="cs">
<head>
<title>{block title|striptags}{/block} | Moje stranka.cz</title>
</head>
<body>
{include #content}
</body>
</html>
Do #content vložím stránku s n:block=„title“ z databáze:
{block #content}
{foreach $products as $product}
<h1 n:block="title">{$product->item}</h1>
{/foreach}
a dostanu chybovou hlášku od Laděnky: „Undefined variable:
product“
Pokud ale vložím do stránky pouze h1 bez n:block=„title“, tak se
samozřejmě dostane text z databáze mezi tagy <h1>..</h1> a
probublá až do layout takto:
<h1>{$product->item}</h1>
Stejně tak funguje a probublá až do layout title ručně vložený text:
<h1 n:block="title">Ručně vložený text</h1>
Prostě nefunguje vložit text title z databáze.
Díky za případné nasměrování…
- Darkling
- Člen | 35
Ahoj,
moc nerozumím o co se snažíš. Pokud chceš mít v tagu title názvy všech
produktů (což taky nedává moc smysl) tak asi takhle:
<?php
{block title}
{foreach $products as $product}
{$product->item}{sep},{/sep}
{/foreach}
{/block}
?>
Prostě nemůžeš iterovat nad blokem (aspoň myslím). A ještě jedna poznámka není moc dobrý používat víc jak jeden h1 na jedné stránce z hlediska SEO.
Editoval Darkling (1. 12. 2014 15:08)
- Petr Havlíček
- Člen | 4
Ahoj,
možná jsem to špatně definoval, iterovat samozřejmě nepotřebuji, a
foreach stejně vrátí jen 1 výsledek. Snažím se jednoduše do title
vložit text z databáze. A to se tváří že nejde. Jak to řešit bez
foreach? Nemůže být problém v tom? Zatím mi to chování
nedává smysl.
Díky
- David Matějka
- Moderator | 6445
nad selection zavolej fetch()
, coz vrati nasledujici (prvni)
radek. pripadne rovnou `get($id)