zobrazení ceny košíku v laylout.late
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Karel Chramosil
- Člen | 114
Dobrý den, PHP 5.3.0, Nette Framework version 2.0,
potřebuji v layloutu.late zobrazit celkovou cenu košíku, který je uložen v databázi. Pokusil jsem se o následující kód. Do BasePresenter jsem napsal funkci:
//Celková cena kosiku
public function cenaKosiku(){
$pocetRow = $this->context->createKosiks()->where(array('ip_address' => $ip_address))->sum('kosik.kusu * sklad.cenaprodej');
return $pocetRow;
}
a do layloutu.late jsem napsal kód:
<body>
{if cenaKosiku() > 0}
<a n:href="KosikList:"><img src="{$basePath}/images/kosik-big.png" alt=""></a>
{/if}
Laděnka mne hlásí že nezná funkci cenaKosiku()
Prosím o radu jak zavolat funkci cenaKosiku() v soboru layloutu.late.
- Jan Tvrdík
- Nette guru | 2595
Nicméně lepší bude předat si tu cenu normálně do šablony, třeba
v beforeRender
// v BasePresenteru
protected function beforeRender()
{
parent::beforeRender();
$this->template->cenaKosiku = $this->cenaKosiku();
}
{* v šabloně *}
{if $cenaKosiku > 0}
- Karel Chramosil
- Člen | 114
Děkuji za radu. V šabloně celkovou cenu používám, ale v layloutu.late mám hlavičku pro všechny šablony, kde zobrazuji plný, nebo prázdný košík.