如何将css文件和javascript / jquery文件链接到控制器/视图?
我正在使用CakePHP_1.3并在线找到以下代码,但我似乎无法弄清楚将其放在何处,其次,在哪里放置名为css_file的css文件。
<?php $this->Html->css("css_file", null, array("inline"=>false)); ?>
任何帮助赞赏的人......
答案 0 :(得分:13)
您可以将CSS文件放在:
中app/
webroot/
css/ <-- here
您可以将代码行放在default.ctp
布局中。它位于(1.3):
cake/
libs/
view/
layouts/
default.ctp <-- copy this to app/views/layouts/
然后向上打开app/views/layouts/default.ctp
并查看HTML。您将看到Cake已经在使用此命令的位置。只需将文件名替换为您添加的文件即可。添加代码行时,不将.css
添加到结尾。
答案 1 :(得分:7)
您在视图中使用echo $this->Html->css('css_file_name_without_the_extension');
和echo $this->Html->script('same')
答案 2 :(得分:5)
根据您的问题,听起来您在逐个视图的基础上询问如何执行此操作。
这是$scripts_for_layout
有用的地方。
您只需要确保它位于<head>
中的/app/views/layouts/default.ctp
标记中<?php echo $scripts_for_layout; ?>
然后,您可以将问题中包含的代码直接添加到任何视图中,无论您喜欢什么。因为您有'inline' => false
,它实际上不会出现在视图中的该位置:
<?php $this->Html->css("css_file", null, array("inline"=>false)); ?>
...每当加载特定视图时,您会发现css_file.css
会自动链接到<head>
。这是一种很好的方法,只在需要时基于每个视图加载特定的CSS文件,同时确保它们出现在<head>
标记中。
这也适用于JavaScript,如下所示:
<?php $this->Html->script("js_file", null, array("inline"=>false)); ?>
如果您想在所有视图中加载一个或多个CSS文件,只需将代码的缩短版本放在<head>
的{{1}}中,如下所示:
default.ctp
或者,再次,对于JavaScript:
<?php echo $html->css(array('each','one','of','your','css','files'));
不要在数组中包含.css或.js扩展名。