Odkaz na jiný presenter v rámci formuláře

Allconius
Člen | 313
+
0
-

Ahoj mám EditPresenter a v něm form:

<?php
    protected function createComponentEditMSForm()
    {

.......

    $form->addGroup('');

    $optionsS = $this->dbManager->nactiSZ($editId);

    $form->addMultiSelect('sz', 'Součásti zařízení, jejich kapacita a délka provozu :', $optionsS)
        ->setOption('description',Html::el()->setHtml('<a n:href="Soucast: '.$editId.'">Upravit seznam</a>'));    ;

.......

?>

a potřeboval bych v něm mít odkaz na SoucastPresenter (viz. ten atribut setHtml), jak se to dá dostat do šablony když je tam jen :

<?php
{block content}

<p><a n:href="Homepage:">← zpět</a></p>

{control editMSForm}

<p><a n:href="Homepage:">← zpět</a></p>

{/block}
?>
David Matějka
Moderator | 6445
+
0
-
->setOption('description',
	Html::el('a')
		->href($this->link('Soucast:', [$editId]))
		->setText('Upravit seznam'))
Allconius
Člen | 313
+
0
-

David Matějka napsal(a):

->setOption('description',
	Html::el('a')
		->href($this->link('Soucast:', [$editId]))
		->setText('Upravit seznam'))

Ahojky, díky, ale mám to pořád prázdné ve výsledku tj.: <a href="">Upravit seznam</a> co dělám špatně ? Cache jsem smázl + ctrl+F5

David Matějka
Moderator | 6445
+
0
-

co vygeneruje samotné $this->link('Soucast:', [$editId])?

Allconius
Člen | 313
+
0
-

David Matějka napsal(a):

co vygeneruje samotné $this->link('Soucast:', [$editId])?

Ahoj, promiň funguje to perfektně, jen já jsem kretén, zapomněl jsem, že tam mám ty formuláře dva a vrtal jsem v tom který jsem neměl zobrazený …

Allconius
Člen | 313
+
0
-

David Matějka napsal(a):

->setOption('description',
	Html::el('a')
		->href($this->link('Soucast:', [$editId]))
		->setText('Upravit seznam'))

prosím tě, ještě bych potřeboval dostat tam více těch parametrů, něco jako:

<?php
->href($this->link('Soucast:', [$editId, $parametr2, $parametr3]))
?>
David Matějka
Moderator | 6445
+
+1
-

vždy můžeš při generování odkazů používat názvy parametrů:

$this->link('Soucast:', ['id' => $id, 'paramxx' => $value]);

když to máš bez jména, tak se nette pokusí dohledat příslušnou action resp. render metodu a spárovat to s argumentama té metody a dle nich to pojmenovat

Allconius
Člen | 313
+
0
-

skvělé, funguje, díky :-)