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