Включите активы в расширение Twig с Symfony2

Я хочу включить ресурс с некоторым файлом сценария в расширении Twig. Например, я хочу объявить функцию ветки {{ init_project() }}, но когда я пишу в моей функции ветки '<script type="text/javascript" src="{{ asset('bundles/mybundle/js/script.js') }}"></script>', он не работает, он возвращает ошибку 404 в панели отладки браузера. Так как я могу это сделать?

1 ответ

Решение

Посмотрите на 'asset' функция ветки:

Вы можете найти это в \Symfony\Bundle\TwigBundle\Extensions\AssetsExtension

public function getAssetUrl($path, $packageName = null, $absolute = false, $version = null)
    {
        $url = $this->container->get('templating.helper.assets')->getUrl($path, $packageName, $version);

        if (!$absolute) {
            return $url;
        }

        return $this->ensureUrlIsAbsolute($url);
    }

Вместо звонка '{{asset}}' в вашем расширении просто вызовите публичную функцию getAssetUrl()

Другие вопросы по тегам