我想要包含一个应该应用于主页的特定css文件,以及整个网站中的6-7个其他页面。
我知道我可以通过PHP做到这一点,获取URL,找到什么页面,链接css等等,但我想知道是否有一种光滑的方式(或任何更好的方式)使用CakePHP来包含正确的css文件。
我意识到我可以链接特定视图中的CSS文件,但是 - 然后它们不会出现在<head>
中。有没有办法从视图中链接并将其显示在头部?
我希望我的问题有意义,并且非常感谢任何帮助。
答案 0 :(得分:19)
我意识到我可以链接CSS文件 具体的观点,但是 - 然后他们 不在
<head>
。有没有 从视图链接并拥有它的方式 出现在头上?
是的,他们会在头脑中。请参阅HTML Helper documentation:
如果键'inline'设置为false in $ options参数,链接标签是 添加到$ scripts_for_layout 你可以在里面打印的变量 文件的头标记。
所以,你视图中的这个片段......
$this->Html->css('my-css', null, array('inline' => false));
...会将适当的<link>
元素添加到您的<head>
。
答案 1 :(得分:0)
查看这个小教程:
http://nuts-and-bolts-of-cakephp.com/2008/05/05/css-files-and-scripts_for_layout/
基本上,您可以使用此标准视图属性$ scripts_for_layout根据视图注入CSS文件。希望这是你正在寻找的。我想到了一些其他疯狂的选项,涉及扩展解析,但它可能比手动链接样式表更麻烦。我认为此链接描述了最佳解决方案。
答案 2 :(得分:0)
您也可以使用不同的布局,并在其中包含css:
http://book.cakephp.org/view/1080/Layouts#!/view/1080/Layouts
如果模型的所有视图都具有相同的css或脚本,那么这很方便。
答案 3 :(得分:0)
这不是你问题的答案,但...... 您可以为布局文件编写自己的注入。 $ scripts_for_layout的问题是js和css代码被注入头部。如果编写自己的实现,可以将$ scripts_for_layout var(对于js)放在布局文件的末尾。提示是:分离......