jak na odkazy a predavani parametru?
- tomasnikl
- Člen | 137
Dobry den, poradil by prosim nekdo jak vyresit odkazy?? Vypisuju data za databaze do tabulky a chtel bych odkazovat na homepage s parametrem id=(jedinecne ID kazdeho produktu v tabulce)…
Presenter vypada nasledovne:
<?php
class HomepagePresenter extends BasePresenter {
public function renderDefault() {
//$model = new TestModel;
//$this->template->data = $model->getTest();
$this->template->data = dibi::fetchAll(‚SELECT * FROM [pavel]‘);
}
public $myParameter = ‚defaultValue‘;
}?>
sablona .phtml
<table>
<tr><th>ID</th><th>Test</th></tr>
{foreach $data as $row}
<tr>
<td>{$row->id}</td>
<td><a href='{plink Homepage:, 'id' => '$row->$id'}'>{$row->test}</a></td>
</tr>
{/foreach}
</table>
a prave u toho „a href=.....“ mi to nejak nefunguje.. odkazuje me to
na:
http://localhost/…row-%3E%24id
coz je samozrejme spatne… jde to resit pomoci plink?? samozrejme se to da
vyresit i takto:
<a href=„neco/neco/neco/{$row->id}“>text</a>
ale toto reseni se mi az zas tak nelibi..
dekuji za rady,
Tom
- Ondřej Mirtes
- Člen | 1536
A měl bys asi odkazovat na jiný action, když ten default nemá žádný parametr a slouží k zobrazení celého seznamu položek.
Takže:
public function renderShow($id) {
//zalozeni modelu
$this->template->item = $model->getItem($id); //SQL dotaz s 'WHERE id=%i', $id
}
A odkaz stačí uvést ve tvaru {link Homepage:show $id}, případně {link show $id}, pokud odkazuješ ze stejného Presenteru.
Editoval Ondřej Mirtes (23. 11. 2009 21:28)