将CSS或JS链接到默认布局

时间:2011-03-31 21:58:21

标签: cakephp layout

我正在尝试找不到如何关联CSSJS我将在CakePHP 1.3应用程序中使用它。我已经阅读过将资源放在文件夹/app/webroot/css/app/layouts/css中(仅限于此情况下的css)。

我放了一个名为main.cssdefault.css的文件,但我遗漏了一些东西。

如何修复它以及哪些是默认布局的默认规则?

1 个答案:

答案 0 :(得分:7)

正常​​

$this->Html->css('my_file');对应/app/webroot/css/my_file.css $this->Html->script('my_file');对应/app/webroot/js/my_file.js

你将上面的php部分添加到你的布局文件中,默认情况下是/app/views/layouts/default.ctp(如果你还没有创建一个,可以在cake dir中)

您可以在控制器/ app_controller设置$this->layout = 'foo';中设置指向/app/views/layouts/foo.ctp

的布局

主题

将控制器设置为$this->view = 'Theme';将使蛋糕使用主题,然后在控制器中设置$this->theme = 'SomeTheme';将使蛋糕使用/app/views/themed/some_theme/*个文件

现在使用$this->Html->script('my_file');指向/app/views/themed/some_theme/js/my_file.js,同样适用于css。

css = http://book.cakephp.org/view/1437/css

js = http://book.cakephp.org/view/1589/script

themes = http://book.cakephp.org/view/1093/Themes

主题有通过php(ob_start(); include等)提供css,js和其他资产的问题,这显然比普通的http服务慢。您可以将文件复制到webroot文件夹,如底部所述,或者是懒惰的,并执行以下https://gist.github.com/712622

之类的操作