V templates přes LatteEngine přestaly fungovat vlastní filtry

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

Registruju filtry v config.neon takto:

filters: MyNS\Filters
nette.latteFactory:
	setup:
		- addFilter(null, [@filters, loader])
namespace MyNS;

use Nette\Object;

class Filters extends Object {

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

V modelu se pak snažím vytvářet template:

public function __construct(Nette\Bridges\ApplicationLatte\ILatteFactory $latteFactory) {
	$this->latteEngine        = $latteFactory->create();
}

public function createTpl() {
	...
	$this->latteEngine->renderToString($templateFile, $templateParams);
}

Kde mi to při zavolání renderToString hází error LogicException: Filter 'myfilter' is not defined. Přitom když ten samý filter v klasícke šabloně, kterou dělám v presenteru, funguje. Co dělám špatně? Díky

Felix
Nette Core | 1247
+
0
-

Je to zvlastni, tohle by melo fungovat.

Kdyz si dumpnes Latte\Engine, ma tam zaregistrovane nejake filtry? Neprepisujes si to jeste nekde jinde?

Kdyz porovnas LatteFactory v modelu a presenteru, jsou stejne?

simPod
Člen | 383
+
0
-

Hele, je mi to fakt blbý, ale ono to začalo fungovat úplně stejným způsobem, jako to přestalo. Z ničeho nic… (cache jsem mazal atp., prostě fakt kouzlo, vůbec jsem s tim nehnul) No hlavně, že to funguje. Moc díky za snahu!

simPod
Člen | 383
+
0
-