Zavolání context v latte šabloně
- Tomáš Votruba
- Moderator | 1114
Ahoj, takto se to obvykle nedělá.
A. Můžeš použít komponentu (ne k db):
V presenteru:
protected function createComponentGallery()
{
return $this->context->createGallery();
}
V šabloně:
{control gallery}
B. Data z db by měla být zpracována v presenteru, pokuž tedy nepoužíváš NDB\Notorm pro přímý výpis v šabloně – viz dokumentace.
C. Řekni, co potřebuješ. Možná to jde jinak/lépe.
Editoval Schmutzka (10. 6. 2012 19:39)
- breeta
- Člen | 68
Mám právě tenhle zápis jenže musím zavolat znovu databázi jinak se
podmínka násobí …
$gallery->where(‚id_parent‘, $a[‚id‘])->limit(4)
{foreach $action as $a}
<h2 class="clear" > <a n:href="Action:detail $template->webalize($a['action_name'])">{$a['action_name']} - {$a['action_date']|date:'%d.%m.%Y'}</a></h2>
<p>{$a['action_text']|stripTags|truncate: 250}
<a n:href="Action:detail $template->webalize($a['action_name'])">více</a> </p>
{foreach $gallery->where('id_parent', $a['id'])->limit(4) as $img }
<div class="gallery" >
<a href="{$basePath}/gallery/{$img['img_file']}.jpg" title="{$img['img_name']}" rel="gallery_img" >
<img class="gallery_img" src="{$basePath}/gallery/{$img['img_file']}_t.jpg" /></a> </div>
{/foreach}
{/foreach}
- bojovyletoun
- Člen | 667
Pokud je počet dotazů úměrný délce cyklu, pak je to špatně. vlastnost
Nette Database a NotOrm je právě konst počet dotazů. Neznám strukturu, ale
tipuji, že chceš zapsat něco jako v řeči
Database: {foreach $action->related('gallery', 'id_parent')->limit(4) as $img }
zapomněl jsem dodat dokazy:
- Přednáška posobota brno Hrach video / slidy
- documentace https://doc.nette.org/cs/database
Editoval bojovyletoun (10. 6. 2012 20:39)