relativeLinks a Nette 2.0

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Maxell92
Člen | 38
+
0
-

Mám problém s filtrem relativeLinks, nikde jsem nenašel, jak ho mohu použít v Nette 2.0. Zkoušel jsem postupy z fóra, ale zřejmě jsou všechny pro starší verzi Nette:

abstract class BasePresenter extends Presenter {
    protected function beforeRender() {
        $this->template->registerFilter('TemplateFilters::relativeLinks');
    }
}

public function templatePrepareFilters($template) {
        parent::templatePrepareFilters($template);
        $template->registerFilter('TemplateFilters::relativeLinks');
    }

Vždy dostanu hlášku Callback ‚\Nette\Templates\Filters\TemplateFilters::relativeLinks‘ is not callable.

V dokumentaci jsem filtr vůbec nenašel.

Jde mi o to, aby kodér nemusel v šablonách stále psát basePath. Dokáže někdo poradit?

Felix
Nette Core | 1247
+
0
-

Ono v nette neco jako relativeLinks existuje?

Jan Tvrdík
Nette guru | 2595
+
0
-

@Maxell92:
Ten filtr ve verzi 2.0 už vůbec není. Takže jestli ho chceš ve verzi 2.0, tak zkopíruj implementaci z verze 0.9.

Maxell92
Člen | 38
+
0
-

A je nějaký důvod, proč se filtr vypustil a tím i proč ho nepoužívat?

Napadá mě výkonnost aplikace, ale to by se mělo dát ošetřit tím, že by se filtr volal jen v případě, že basePath nebude prázdná, což by mělo být jen na dev prostředí.

Díky

enumag
Člen | 2118
+
0
-

Filtry se volají při kompilaci šablon a zkompilované šablony se cachují, takže na výkon to vliv nemá (imho). Důvod neznám.