Class ‚Tabella‘ not found
- muflix
- Člen | 92
Ahoj, chci skusit v administraci možnost editace záznamů, ale nejdříve
je musím vypsat..
zkoušel sem DataGrid, ale ten házel nějaké chyby a po opravení házel
další..
zkusil sem Gridito, to sem sice rozběhal, ale nenašel sem k němu žádnou
dokumentaci ani příklady.
a teď zkouším doplňek Tabella
stáhl jsem si zip a složku ‚Maite‘, která obsahuje Tabella.php jsem přejmenoval a přesunul do /app/components/Tabella kam mi odkazuje i RobotLoader
v /app/presenters/AdminPresenter.php mám
/* ------- Tabella ------- */
protected function createComponentBasicTabella() {
$grid = new Tabella( $this->novinky->getDataSource() );
$grid->addColumn( "Id", "id", array( "width" => 30 ) );
$grid->addColumn( "perex", "perex", array( "width" => 100 ) );
$grid->addColumn( "text", "text", array( "width" => 100 ) );
$grid->addColumn( 'datum vlozeni', 'datum_vlozeni', array( "type" => Tabella::DATETIME ) );
return $grid;
}
/* ------- END Tabella ------- */
a v šabloně mám
{control basicTabella}
laděnka na řádku
$grid = new Tabella( $this->novinky->getDataSource() );
hodí Class ‚Tabella‘ not found [ obrazek ]
vypadá to na jednoduchou chybu, ale nemůžu na to přijít, děkuji ;)
Editoval muflix (13. 2. 2012 23:11)
- nanuqcz
- Člen | 822
Ahoj, a počítáš s tím, že ta třída je v namespace Maite? https://github.com/…/Tabella.php#L13
$grid = new Maite\Tabella( $this->novinky->getDataSource() );
- muflix
- Člen | 92
aha dík, no ještě mi to hází jednu chybu po opravení
mam /app/models/Novinky.php a v ní
private $db;
public function __construct(\DibiConnection $connection)
{
$this->db = $connection;
}
public function getDataSource()
{
return $this->db->dataSource('SELECT * FROM novinky');
}
a píše mi to ‚Cannot use object of type DibiDataSource as array‘
nа řádku
$grid = new Tabella( $this->novinky->getDataSource() );
[ "obrazek ":http://ukaz.at/22i/full ]
v examplu je uvedený
class UsersModel extends Object {
public static function dataSource() {
return dibi::dataSource( "SELECT *, (daughters + sons) as children FROM users_test" );
}
a
$grid = new Tabella( UsersModel::getDataSource() );
to mi příde podobný, ne li stejný ?
Editoval muflix (14. 2. 2012 8:56)
- nanuqcz
- Člen | 822
Stránka s doplňkem je asi zastaralá, na githubu se teď v example nepoužívá datasource, ale DibiFluent. Při vytváření Tabelly se pak zřejmě předávají parametry trochu jinak (v poli).
- muflix
- Člen | 92
dik, sem to opravil
/app/models/Novinky.php
public function source()
{
//return $this->db->dataSource('SELECT * FROM novinky');
return $this->db->select('SQL_CALC_FOUND_ROWS *')->from('novinky');
}
/app/presenters/AdminPresenter.php
protected function createComponentBasicTabella() {
$grid = new Maite\Tabella( array(
'context' => $this->context,
'source' => $this->context->novinky->source()
) );
$grid->addColumn( "Id", "id", array( "width" => 30 ) );
$grid->addColumn( "perex", "perex", array( "width" => 100 ) );
$grid->addColumn( "text", "text", array( "width" => 100 ) );
$grid->addColumn( 'datum vlozeni', 'datum_vlozeni', array( "type" => Maite\Tabella::DATETIME ) );
return $grid;
}
ale vrací mi to chybu :P