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)