开发者

Symfony2 Twig extension

I have some problem to implement twig extension. I need to create my own filter (a substr filter). So I have thought to use twig extension.

I created a folder named "Extension" on MyApp\Bundle\WebsiteBundle\ and file : WebsiteExtension.php

namespace Bundle\WebsiteBundle\Extension;

class WebsiteExtension extends \Twig_Extension {

    public function getFilters() {
        return array(
            'substr'  => new \Twig_Filter_Method($this, 'substrFilter'),
        );
    }

    public function substrFilter($sentence, $start, $end) {
        return substr($sentence, $start, $end);
    }

    public function getName()
    {
        return 'website_extension';
    }
}

Then on my config.yml on /app/config

services:
    Website.twig.extension:
        class: MyApp\Bundle\WebsiteBundle\Extension\WebsiteExtension
        tags:
            - { name: twig.extension }

But error occurs :

"Fatal error: Class 'MyApp\Bundle\WebsiteBundle\Extension\WebsiteExtension' not found in .../appDevDebugProjectContainer.php on line 1391"

It's strange because file and class exists ... I have missed som开发者_开发问答ething but what ?


Replace this

namespace Bundle\WebsiteBundle\Extension;

By this

namespace MyApp\Bundle\WebsiteBundle\Extension;

And for what your need dir Bundle/WebsiteBundle?
Is Bundle is not enough?

Your can see here how I implement this https://github.com/azat/blog/blob/master/src/Blog/WebBundle/Twig/Extension/WebExtension.php

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜