Gridito- odkazy na jine presentery
- gerades
- Člen | 40
Zdravim, mam nasledujici kod:
class Tabulka extends Grid {
private $customerId;
// variables ...
public function __construct($customerId, // parameters....
$dataSource = // get datasource
$this->setModel(dataSource);
$this->setItemsPerPage($this->itemsPerPage);
$this->addColumn("Id", "Id")->setSortable(true);
$this->addButton("detail", "Detail", array(
// ??? link s Id zaznamu a $customerId
"handler" => function ($row) use ($presenter, $customerId) {
$presenter->redirect("ItemDetail:default",
array(
'itemid' => $row->Id,
'customerid' => $customerId
));
}
}
Snazim se vytvorit odkaz, ktery by me presmeroval na jineho presentera. Ten by zobrazil detail zaznamu v tabulce. Coz znamena, ze musi byt v odkazu ID zaznamu. Co vice, je potreba aby se preposlali nejake dalsi udaje. Napriklad $customerId.
Pridal jsem dosavadni (nefunkcni kod)… customerId je v pohode, problem je s itemid, to neni naplneno dle ocekavani… :-/
Editoval gerades (6. 2. 2011 20:22)
- Honza Marek
- Člen | 1664
pokud potřebuješ jen odkaz, můžeš použít link místo handler.
<?php
$this->addButton("detail", "Detail", array(
// ??? link s Id zaznamu a $customerId
"link" => function ($row) use ($presenter, $customerId) {
return $presenter->link("ItemDetail:default",
array(
'itemid' => $row->Id,
'customerid' => $customerId
));
?>
- Bumerank
- Člen | 30
já bych potřeboval dát na tlačítko „zavolání“ signálu pro smazání položky – předání ID záznamu
<?php
public function handleDeleteCatalog($params)
{
$model = new CatalogsModelGrid();
$model->deleteCatalog($params['id']);
// pole $params je prázdné - dump($params) vrací NULL
}
?>
- Bumerank
- Člen | 30
mám sloupeček se třemi tlačítky u každého záznamu (smazání, editace a ještě jedna f-ce) a nacpaly se mi pod sebe, čím nehezky zvětšily výšku řádků…dá se nějak nastavit, aby byly tlačítka vedle sebe, nebo aby sloupec s tlačítky byl širší a tím pádem byly vedle sebe a ne pod sebou?