použití datagridu bez mvc

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

Ahoj, chtěl jsem zkusit použít do jednoho hodně staršího projektu addon datagrid ale nevím jak ho správně použít když tam není žádná mvc architektura ani šablony ani třídy, prostě spousta php souborů v jedné složce. V php souboru který se mi načítá mám toto:

$grid = new DataGrid();
$model = new Data();
$grid->bindDataTable($model->getUsers());
$grid->addColumn('fname', 'Jméno');
$grid->addColumn('lname', 'Příjmení');
echo $grid;

po spuštění mi to hlásí Fatal error: Method DataGrid::__toString() must not throw an exception
Díky za rady

Editoval spiider (23. 4. 2012 18:26)

JuniorJR
Člen | 181
+
0
-

Chtělo by to více specifikovat chybu, lze použít Debugger?

Kde nastane chyba?

public function __toString()
{
    $s = call_user_func_array(array($this->getRenderer(), 'render'), array($this));
    return mb_convert_encoding($s, 'HTML-ENTITIES', 'UTF-8');
}

Editoval JuniorJR (23. 4. 2012 22:54)

spiider
Člen | 162
+
0
-

No píše to že je chyba v řádku kde je

echo $grid;
JuniorJR
Člen | 181
+
0
-

No chtělo by to vystopovat tu chybu až k jejímu původu, neboť echo $grid jen zavolá metodu __toString() uvedenou výše a pak chyba může být „úplně někde jinde“.

Editoval JuniorJR (24. 4. 2012 9:35)

spiider
Člen | 162
+
0
-

A jak to tedy vystopovat? Ještě jsem zkusil grid vykreslit pomocí

$grid->render();

ale tam mi to hlásí Unknown environment variable ‚tempDir‘.

Tak jsem upravil tempDir a ted už se to do renderu dostane ale hlásí to že nezná makro snippet, takže to bude asi chtít ještě nějak zaregistrovat latte že?

Editoval spiider (24. 4. 2012 10:18)

spiider
Člen | 162
+
0
-

Tak po všech problémech co jsem vyřešil mi to napíše:Allowed memory size of 157286400 bytes exhausted (tried to allocate 8208 bytes)
Co s tím pls?