HTML::el(‚a‘) a $this->link v Presenteru
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- jetpack
- Člen | 71
Zdravím,
nenašel jsem řešení jak do
<?php
Nette\Utils\Html::el('a')->href()
?>
nacpat v Presenteru $this->link(‚Presenter:action‘).
Bohužel to tak potřebuju, vím, že bych to mohl vytvořit předtím a uložit do nějaké proměnně $link a tu předat do ->href($link).
Díky za nějaké popostrčení.
Nette 2.0.8 a PHP 5.3
- jetpack
- Člen | 71
Jo a ještě pro upřesnění:
Používám to v komponentě Grido což
je addon DataGrid pro Nette a jeho metodu:
<?php
$grid = new \Grido\Grid($this, $name);
$grid->addAction()->setCustomRenderer(function($row) // $row == Dibi row {
$img = Html::el('img')->src('path/to/image')->width(16)->height(16);
$a = Html::el('a')->href($this->link('Topics:delete') /* Zde to háže ty chyby */)->setHtml($img);
return $a
});
?>
Editoval jetpack (4. 2. 2013 18:12)
- Tabetha
- Člen | 140
hádam by ma nikto neukrižoval za toto … ale malo by to ísť (niečo podobné ako v multiplier)
<?php
$grid = new \Grido\Grid($this, $name);
$presenter = $this->getPresenter();
$grid->addAction()->setCustomRenderer(function($row) use ($presenter) // $row == Dibi row {
$img = Html::el('img')->src('path/to/image')->width(16)->height(16);
$a = Html::el('a')->href($presenter->link('Topics:delete') /* Zde to háže ty chyby */)->setHtml($img);
return $a
});
?>
- jetpack
- Člen | 71
To jsem zkoušel!
<?php
// Tohle jsem zkoušel
$p = $this->getPresenter();
// I tohle
$p = $this->presenter;
// I tohle
$presenter = $this;
// I tohle
$presenter = $this->getPresenter();
Debugger::barDump($p); // Funguje
$grid->...->setCustomRenderer($p||$presenter->link('Topics:delete') /* Chyba: notice: $p||$presenter undefined */ );
?>
Toto nechápu..
Jako mám to vyřešené, jen jsem to takto chtěl udělat..
Editoval jetpack (4. 2. 2013 18:58)