Symfony2 Twig forlengelse

stemmer
12

Jeg har litt problemer med å gjennomføre kvist forlengelse. Jeg trenger å lage min egen filter (en substr filter). Så jeg har tenkt å bruke kvist forlengelse.

Jeg opprettet en mappe som heter Extension på MyApp \ Bundle \ WebsiteBundle \ og 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';
    }
}

Så på min config.yml på / app / config

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

Men feilen oppstår:

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

Det er rart fordi filen og klasse eksisterer ... Jeg har gått glipp av noe, men hva?

Publisert på 13/05/2011 klokken 12:36
kilden bruker
På andre språk...                            


1 svar

stemmer
6

Erstatt dette

namespace Bundle\WebsiteBundle\Extension;

Av dette

namespace MyApp\Bundle\WebsiteBundle\Extension;

Og for hva ditt behov dir Bundle/WebsiteBundle?
Er Bundledet ikke nok?

Din kan se her hvordan jeg gjennomføre dette https://github.com/azat/blog/blob/master/src/Blog/WebBundle/Twig/Extension/WebExtension.php

Svarte 13/05/2011 kl. 13:21
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more