ACL se společnými models, nenalezne proměnnou

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

Dobrý den, už mě tato chyba dohnala k radě na fóru. Mám klasickou ACL aplikaci s rozdělením na AdminModul a UserModul. V obou těchto modulech chci načítat z models.

app\models\PrizeModel.php

<?php
class PrizeModel
{
    public function findAllPrizes($order = NULL, $where = NULL, $offset = NULL, $limit = NULL)
    {
        return dibi::query(
            'SELECT * FROM [prize]',
            '%if', isset($where), 'WHERE %and', isset($where) ? $where : array(), '%end',
            '%if', isset($order), 'ORDER BY %by', $order, '%end',
            '%if', isset($limit), 'LIMIT %i %end', $limit,
            '%if', isset($offset), 'OFFSET %i %end', $offset
        )->setRowClass('PrizeEditModel');
    }
?>

app\models\PrizeEditModel.php

<?php
class PrizeEditModel extends DibiRow
{
    public function __construct($arr = array())
    {
        parent::__construct($arr);
    }
?>

nyní jsem si v app\UserModule\presenters vytvořil PrizePresenter.php, kde chci načíst data z db do proměnné prizes pro template

<?php
namespace UserModule;
class PrizePresenter extends BasePresenter
{

	protected function beforeRender()
	{
		$model = new PrizeModel;
 		$this->template->prizes = $model->findAllPrizes();
	}

}
?>

ale v template app\UserModule\templates\Homepage\prize.latte, ale když jdu na tu stránku píše mi Undefined variable: prizes

<?php
{foreach $prizes as $prize}
<tr>
	<td>{$prize->id}</td>
	<td>{$prize->points}</td>
</tr>
{/foreach}
?>

Zkoušel jsem si načítat data z db v základní aplikaci bez modulů a tam mi to jde. Budu vděčný za každou radu :(

jansfabik
Člen | 193
+
0
-

app\UserModule\templates\Homepage\prize.latte je šablona pro akci prize presenteru HomepagePresenter

PrizePresenter má šablony ve složce app\UserModule\templates\Prize, takže pokud se akce jmenuje default (to je výchozí název), tak v ní vytvoř soubor default.latte a dej tam kód té šablony

Phalanx
Člen | 310
+
0
-

díky mockrát, podle tvého návodu už mi to jde. Tak to vypadá, že se budu muset ještě dost poprat s návrhem aplikace