我目前正在开发使用Symfony的2.1.0 Web应用程序。
我已经通过读模板章的书,我想包括资产(现在,它只是一个单一的样式表)在我的网页。
我使用的是三级继承体系是书中提到的,和我的应用程序结构目前看起来是这样的:
- 应用程序/资源/视图/
- base.html.twig:基本模板,含有标题 , 样式表和体块。
- SRC /我的/ PageBundle /资源/视图
- layout.html.twig:布局模板(延伸的基本模板),附加的主要样式表样式表块,并覆盖所述主体块,包括navigation.html.twig并限定内容块
- 布局admin.html.twig:与上述同样的事情,但包括导航admin.html.twig
- SRC /我的/ PageBundle /资源/视图/主
- 标准模板,延伸布局模板,并覆盖它的内容块
- SRC /我的/ PageBundle /资源/视图/管理
- 管理模板。 如上同样的事情,但是扩展的管理布局模板。
- SRC /我的/ PageBundle /资源/公/ CSS
- main.css的:主样式表
正如你所看到的,我已经把样式表在我的包。 我不知道这是否是一个好习惯与否。
现在,事情是,在我的layout.html加入这样的:
{% block stylesheets %}
{{ parent() }}
<link rel="stylesheet" type="text/css" href="{{ asset('css/main.css)' }}" />
{% endblock %}
但asset('css/main.css')
只是链接到/css/main.css
,而./app/console assets:install
在安装资产web/bundles/mypagebundle/
。 我不喜欢的事实,这样一来,我的包的名称将是公开可见的(这可能使用户怀疑我使用Symfony的,我喜欢让我的网页的内部,那么,内部)。 是否有可能改变目录中assets:install
将安装资产? 这似乎有些单调乏味到我的网站/手动安装的资产。
我也在考虑使用Assetic进行资产管理,我个人比较喜欢的可能性,自动运行如下我的脚本/样式表和他们都在同一个文件存放在一起。 不过,我听说这是不可能的,如果你有不同层次的样式表,也就是说,它不会与三级继承体系工作。 是否有可能解决呢? 此外,将利用Assetic使我从公众隐瞒我的包的名称?