我最近开始使用Symfony并且在我的资产方面遇到了一些问题。我使用Assetic并将我的资产放在Resources / public中,并以bundles / techdemo链接。
在我的树枝模板中,我有以下部分:
{% block stylesheets %}
{% stylesheets 'bundles/techdemo/css/*' filter='cssrewrite'%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% endblock %}
{% block javascripts %}
{% javascripts 'bundles/techdemo/js/*' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
将我的所有.css和.js文件放入HTML头中。
这种方式有用..在我的浏览器源代码中我得到这样的东西:
<link rel="stylesheet" href="/css/ae8ddf1_part_1_style_8.css" />
<link rel="stylesheet" href="/css/ae8ddf1_part_1_tags_9.css" />
<link rel="stylesheet" href="/css/ae8ddf1_part_1_typeahead.tagging_10.css" />
<script src="/js/c81691d_part_1_bootstrap.min_1.js"></script>
<script src="/js/c81691d_part_1_initial.min_2.js"></script>
<script src="/js/c81691d_part_1_jquery-price-slider_3.js"></script>
<script src="/js/c81691d_part_1_jquery.barrating.min_4.js"></script>
但路径错了。我访问localhost:8000/app_dev.php/
下的项目,因此文件链接到例如localhost:8000/app_dev.php/js/c81691d_part_1_bootstrap.min_1.js
,这会引发未定义路由的开发。
这是我的资产配置:
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles: [ TechDemoBundle]
filters:
cssrewrite: ~
我已阅读过众多消息来源但尚未找到解决方案。我使用的是最新的2.8版本。
编辑:
对一个文件使用显式路径可以正常工作:
<link rel="stylesheet" href="{{ asset('bundles/techdemo/css/style.css') }}" />
来源中的链接是:localhost:8000/bundles/techdemo/css/style.css
如何更改多个资产的目录?
答案 0 :(得分:0)
尝试更改app / config / config.yml:
framework:
templating:
engines: ['twig']
assets_base_urls:
http: [http://yourhost.com]