Jak vytvořím link při definici vlastního Latte Filtru?

Alsatian
Člen | 163
+
0
-

Ahoj.

V souboru Filters/Filters.php definuji vlastní LATTE makro. Tuší, prosím, někdo, jestli zde můžu (a jak) vytvořit link na konkrétní presenter?

<?php

namespace App;

use Nette\Utils\DateTime;
use Nette\Utils\Strings;
use Nette\Utils\Html;


class Filters
{
    /**
     * @param string
     * @return mixed
     */
    public static function loader($filter)
    {
        return (method_exists(__CLASS__, $filter) ? call_user_func_array([__CLASS__, $filter], array_slice(func_get_args(), 1)) : NULL);
    }

public static function adminMenu($nadpis, $menuArr) {
	$html = Html::el();
	$html->addHtml(
		Html::el('a')->href($this->link('Pages:nazevstranky'))->setText('Název stránky');
	);
}

$this->link(‚Pages:nazevstranky‘) hlásí chybu „Using $this when not in object context“

EDIT: něco mi říká, že musím použít LinkGenerator, ale jak ho do mého kódu dostanu, netuším…

Editoval Alsatian (10. 2. 2019 22:56)

ali
Člen | 342
+
0
-

Posli si uz vygenerovany link jako dalsi parametr toho filtru.

Alsatian
Člen | 163
+
0
-

Taky řešení. Já jsem nakonec definici tohoto filtru umístil do BasePresenteru.
Každopádně moc děkuji.

Martk
Člen | 651
+
+1
-

Vytvoř Filtr jako službu a předej si závislosti. I když nevím, jestli takový kód patří do Filtru.