提示
你也可以通过生成一个绝对URLurl ()
嫩枝功能:
1 2 3 4 5 6 7
<一个href=”{{url(‘欢迎’)}}”>家< /一个>. .versionadded:: 2.8 ' '的url ()“PHP模板辅助是在Symfony 2.8中引入的。欧宝娱乐app下载地址在2.8之前,您必须使用“生成与“()”“辅助方法Symfony \路由\发电机\ \组件UrlGeneratorInterface:: 欧宝娱乐app下载地址ABSOLUTE_URL“作为第三个参数传递。
的资产()
函数的主要目的是让应用程序更便携。如果您的应用程序的生活在您的主机(如的根源。http://example.com
),那么应该呈现的路径/图片/ logo.png
。但是如果您的应用程序(如住在子目录中。http://example.com/my_app
),每个资产路径应该呈现的子目录(例如/ my_app /图片/ logo.png
)。的资产()
函数负责这个通过确定您的应用程序是如何被使用和生成相应的正确路径。
此外,如果你使用资产()
函数,Symfony欧宝娱乐app下载地址会自动将查询字符串附加到您的资产,为了保证更新静态资产不会被部署后从缓存加载。例如,/图片/ logo.png
的样子/图片/ logo.png ? v2
。有关更多信息,请参见<一个href=”//www.oldmanjams.com/doc/2.8/reference/configuration/framework.html" class="reference internal">框架配置引用(FrameworkBundle)一个>配置选项。
如果你需要绝对url的资产,使用absolute_url ()
树枝函数如下:
1
<imgsrc=”{{absolute_url(资产(图片/ logo.png))}}”alt=“欧宝娱乐app下载地址Symfony !”/ >
开始通过添加两个街区基础模板,将你的资产:一个叫样式表
在头
标签,另一个叫javascript
略高于关闭身体
标签。这些块的样式表和javascript将包含所有你需要在你的网站:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
{# app /资源/视图/ base.html。树枝#}<html><头>{#……#}{%块样式表%}<链接href=”{{资产(css / main.css)}}”rel=“样式表”/ >{%endblock%}< /头><身体>{#……#}{%块javascripts %}<脚本src=”{{资产(js / main.js)}}”>< /脚本>{%endblock%}< /身体>< /html>
这是很容易!但是如果你需要包括一个额外的样式表或JavaScript从孩子模板吗?例如,假设您有一个页面,您需要包括一个联系contact.css
样式表只是在这个页面。在联系页面的模板,做以下:
1 2 3 4 5 6 7 8 9 10
{# app /资源/视图/联系/ contact.html。树枝#}{%扩展“base.html。嫩枝' %}{%块样式表%}{{父()}}<链接href=”{{资产(css / contact.css)}}”rel=“样式表”/ >{%endblock%}{#……#}
在子模板,只需覆盖样式表
块,把你的新样式表标签内的块。当然,因为您想要添加到父块的内容(而不是实际取代),你应该使用父()
包括从树枝函数样式表
模板块的基地。
你还可以包括资产位于你的包资源/公共
文件夹中。您将需要运行php应用程序/控制台资产:安装目标(——符号链接)
命令,该命令(或符号链接)文件复制到正确的位置。(默认的目标是“网络”)。
1
<链接href=”{{资产(包/ acmedemo / css / contact.css)}}”rel=“样式表”/ >
最终的结果是一个页面,其中包括main.js
和两个main.css
和contact.css
样式表。