Nedaří se mi zaregistrovat filter do Latte engine

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

Zdravím,

vždy se dostanu k hlášce Callback 'Filters::common' is not callable.

BasePresenter vypadá takto

protected function createTemplate($class = NULL)
{
        $template = parent::createTemplate($class);
        $template->addFilter(NULL, ['Filters', 'common']);
        return $template;
}

class_exists() mi vrací true, tudiž ji loader načetl. Samotná třída Filters vypadá takhle:

<?php

namespace Project\Application;

class Filters extends \Nette\Object
{
	public static function common($filter, $value)
    {
        if (method_exists(__CLASS__, $filter)) {

            $args = func_get_args();
            array_shift($args);

            return call_user_func_array(array(__CLASS__, $filter), $args);
        }
    }

    public static function test($s)
    {
        return $s;
    }
}

Děkuji předem za všechny reakce.

Editoval emptywall (24. 8. 2015 14:08)

Mysteria
Člen | 797
+
+1
-

Nechybí ti tam namespace?

$template->addFilter(NULL, ['Project\Application\Filters', 'common']);
Michal Hlávka
Člen | 190
+
0
-

@Mysteria chyběl, děkuji! já se s tím tady štvu pul hodiny, už jsem objednával svěrací kazajku a ono tohle. Mohlo mě to napadnout. Děkuji.

Felix
Nette Core | 1186
+
0
-

emptywall napsal(a):

@Mysteria chyběl, děkuji! já se s tím tady štvu pul hodiny, už jsem objednával svěrací kazajku a ono tohle. Mohlo mě to napadnout. Děkuji.

Pripadne, ze je porovnani s ostatnimi verzemi Nette.

http://blog.jfx.cz/…lperu-filtru