Maj*_*ons 1 php exception twig assetic symfony-2.1
这有点令人沮丧.根据Symfony的最佳实践,应该放置一个bundle的web资产(images,css,js)src/vendor/path/to/bundle/Resources/public.运行app/console assets:install将该公用文件夹的内容复制到web/bundles/bundlename.在官方文档中,Twig模板显示为使用以下代码获取这些资产:
{% block stylesheets %}
<link rel="stylesheet" type="text/css" href="{{ asset('/css/styles.css') }}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
当我尝试它,而不是神奇地抓住我的资产web/bundles/bundlename/css/styles.css,而不是只是去web/css/styles.css.这是预期的行为吗?官方文件对此不太清楚.
为了尝试解决这个问题,我尝试了拥抱资产动态服务资产的能力.我试过了:
{% stylesheets '@mybundle/Resources/public/css/*' %}
<link rel="stylesheet" type="text/css" href="{{ asset_url }}" />
{% endstylesheets %}
Run Code Online (Sandbox Code Playgroud)
但得到以下异常:
在编译模板期间抛出异常("您必须将mybundle添加到assetic.bundle配置以使用mybundle中的{%stylesheets%}标记:Home:index.html.twig.")"/ home /凯文/ WWW/src目录/ mybundle /资源/视图/主页/ index.html.twig
在官方的Symfony文档使它看起来它应该工作了,没有必要配置的开箱.
那么,TLDR:
要修复资产异常,您需要在config.yml中配置捆绑包,如下所示:
assetic:
bundles: [ MyAwesomeBundle ]
Run Code Online (Sandbox Code Playgroud)
该{{ asset(...) }}树枝功能将成为从Web根目录相对的文件.
您可以使用app/console assets:install在Web根目录中安装静态资产,稍后可以使用此类资产功能轻松指向它们{{ asset('/mybundle/css/site.css') }}
| 归档时间: |
|
| 查看次数: |
4884 次 |
| 最近记录: |