Zobrazenie dát z DB na všetkých stránkach

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
SontoEremo
Člen | 341
+
0
-

Zdravím,
Snažím sa zobraziť v header v mini-košíku produkty z Databázy
WebPresenter.php

<?php
namespace App\Presenters;
use Nette;
use Nette\Application\UI\Presenter;
use App\Model\DataSelect;

abstract class WebPresenter extends Presenter {
	/**
     * @var \App\Model\DataSelect
     * @inject
     */
    public $dataSelect;

    public function render() {
    	$this->templates->ShowProducts = $this->dataSelect->findAll();
    }
}

DataSelect.php

<?php
namespace App\model;
/**
 * Tabulka user
 */
class DataSelect extends \Nette\Object
{
    /** @var Nette\Database\Connection */
    private $database;

    public function __construct(\Nette\Database\Context $database)
    {
        $this->database = $database;
    }

    public function findAll()
    {
        return $this->database->table('kupeny_produkt');
    }

    public function findById($produkt_id)
    {
        return $this->findAll()->get($produkt_id);
    }

}

Layout.latte

{foreach $ShowProducts as $showProduct}
						<li>
						<a href="#" class="product-image">
							<img src="{$basePath}/assets/web/default/images/products/{$showProduct->obrazok_produktu}" width="70" height="70" alt="">
						</a>
						<a href="#" class="product-remove" title="Zmazať tovar z košíka">
							<span class="glyphicon glyphicon-trash"></span>
						</a>
						<h4 class="product-name">
							<a href="#">
								{$showProduct->nazov_produktu}
							</a>
						</h4>
						<div class="product-price">
							{$showProduct->mnozstvo_produktu} x <span class="price">{$showProduct->cena_produktu}€</span>
						</div>
						<div class="clearfix"></div>
					</li>
					{/foreach}

No vždy mi to vyhadzuje Undefined variable: ShowProducts skúšal som rôzne metódy ktoré som našiel ale vlákno bolo staré aj 3–4 roky ale aj tak som sa k tomu nedopracoval vopred Ďakujem.

David Matějka
Moderator | 6445
+
0
-

presenter nema ve svem zivotnim cyklu metodu render, pouzij „beforeRender“

neznamy_uzivatel
Člen | 115
+
0
-

$this->templateS->ShowProducts = $this->dataSelect->findAll();

To s tam asi nemá být :)