Php 树枝中的动态JS路径
我想包括不同的js文件,这取决于环境。我试过:Php 树枝中的动态JS路径,php,symfony,twig,Php,Symfony,Twig,我想包括不同的js文件,这取决于环境。我试过: {% javascripts 'bundles/fosjsrouting/js/router.js' 'bundles/fosjsrouting/' ~ app.environment ~ '/js/fos_js_routes.js' filter='?yui_js' output='compiled/routing' %} <script type="text/javascript" src=
{% javascripts
'bundles/fosjsrouting/js/router.js'
'bundles/fosjsrouting/' ~ app.environment ~ '/js/fos_js_routes.js'
filter='?yui_js'
output='compiled/routing'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
{%javascripts
'bundles/fosjsrouting/js/router.js'
'bundles/fosjsrouting/'~app.environment~'/js/fos_js_routes.js'
过滤器='?yui_js'
输出=“已编译/路由”
%}
{%endjavascripts%}
但它给出了有关意外字符
~
的错误。有什么建议吗 不幸的是,目前这是不可能的。这是因为不能在资产路径中使用变量
但是,您可以使用asset
twig助手:
<script src="{{ asset('bundles/fosjsrouting/' ~ app.environment ~ '/js/fos_js_routes.js') }}"></script>
我考虑过,但这里我需要编译这个资产,这在这种方法中是不可能的。事实上,这就是为什么assetic不能接受变量的确切原因,因为当资产包含任何变量(从控制器、请求等计算)时,它不能扫描资产模板.然而,似乎他们最近在Assetic 1.1中以某种方式添加了此功能。您应该检查symfony发行版使用的版本!好的,我知道了。不管怎么说,这似乎是做我们需要的事情的唯一方法,tnx