将css样式放入页面cakePHP的标题部分

时间:2012-03-15 15:17:58

标签: php css cakephp cakephp-1.3

我在这里有一个简单的问题。假设我在cakePHP中有一个视图文件myView.ctp,在我的视图中我有一些javascript(我有一个原因)。我知道我可以通过使用scriptStart()scriptEnd()块来告诉蛋糕将我的javascript代码放入页面的标题部分:

<?php $html->scriptStart(array('inline' => false)); ?>

// My script code goes here...

<?php $html->scriptEnd(); ?>

array('inline' => false)实际上是告诉蛋糕把我的脚本放在标题中。现在我的问题是:如何为css代码实现相同的功能(没有将我的css代码放入外部文件中)?这种技术似乎只适用于javascript代码。

谢谢

3 个答案:

答案 0 :(得分:1)

我认为您可以使用此链接 api13.cakephp.org/class/html-helper

并查看样式主题。查看示例使用此链接
http://book.cakephp.org/1.3/view/1440/style

答案 1 :(得分:0)

当我想要做同样的事情时,请参阅这篇文章。事实证明,现在(从Cake 2.1开始)使用视图块实现这一点的更现代化的方法。即:

$styleTag = $this->Html->tag('style', $yourCSS);
// adds your stuff to the "css" block which is injected via "fetch" in
// the head section from the view's layout
$this->append('css', $styleTag);

P.S。如果HtmlHelper :: tag()等效于样式块而不仅仅是内容,那将是很好的,只是为了清洁。哦,好吧。

答案 2 :(得分:-1)

$css = $this->Html->tag('style', '/* my css */');
$view =& ClassRegistry::getObject('view');
$view->addScript($css);

视图上的addScript()函数会将您的脚本附加到$scripts_for_layout var。

编辑:评论重申了我错过的重要内容,所以我修改了答案。