Předání id do action v presenteru
- snazimse
- Člen | 43
Zdravím,
v podstatě dneska ,jsem začal s nette,
tak jsem to studoval, některé věci chápu.
Ale zatím moc nevím, jak s tím pracovat, pročetl jsem samozřejmě co se
dalo ,na webu nette.
Ale praxe bude důležitější,ale mám problém respective, nechápu, jak se
předávají do action v presenterech idčka.
Viz např funkce z odkazu zde
Akorát to id, jsem upravil, podle toho jak to mám já.
use Nette\Application\UI\Form;
use Nette\Application\BadRequestException;
use Nette\Application\ForbiddenRequestException;
class RecordPresenter extends BasePresenter
{
/** @var object */
private $record;
protected $id;
/**
* Edit record
*/
public function actionEdit($id)
{
// načtení záznamu z databáze
$this->record = $this->model->records->fetch($id);
if (!$this->record) { // kontrola existence záznamu
throw new BadRequestException;
} elseif ($this->record->userId != $this->user->id) { // kontrola oprávnění
throw new ForbiddenRequestException;
}
$this['recordForm']->setDefaults($this->record); // nastavení výchozích hodnot
}
Ale to jsou formuláře,
já mám v presenteru, něco takového upravený kód, výše, tzn: je na
začátku definováno idčko a tam se předává jako parametr, a já nevím jak
se tam předává, jestli výhradně při přímém předání třeba
v šabloně, nebo už někde v presenteru,jestli se to nepřidává od někud
jinud,snad ne je to tak? Kdybych to nepředal např: při vykreslování
v šabloně ?
Prostě a jednoduše mě zajímá, jak se předávají v presenteru idčka, do
akcí, či jiných metod.
O metodu nejde.To je jen příklad.
Díky moc za pomoc předem!
- Ja
- Člen | 260
Snad chapu na co se ptas.
To ID si ta metoda vezme z URL, tzn http://neco.cz/record/edit?id=8
Pokud bys tento odkaz vytvarel dynamicky primo ze sablony (typicky pokud vypisujes ruzne zaznamy a jsou zde odkazy na editaci kazdeho z nich), tak odkaz vytvoris skrze <a n:href=„Record:edit $record->id“>editovat zaznam</a>, Nette ti z toho automaticky vytvori odkaz na onen /record/edit?id=8