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

将css样式放入页面cakePHP的标题部分,php,css,cakephp,cakephp-1.3,Php,Css,Cakephp,Cakephp 1.3,我这里有一个简短的问题。假设我在cakePHP中有一个视图文件myView.ctp,在我的视图中,我有一些javascript,这是有原因的。我知道我可以告诉cake使用和块将javascript代码放入页面的标题部分,如: <?php $html->scriptStart(array('inline' => false)); ?> // My script code goes here... <?php $html->scriptEnd(); ?>

我这里有一个简短的问题。假设我在cakePHP中有一个视图文件myView.ctp,在我的视图中,我有一些javascript,这是有原因的。我知道我可以告诉cake使用和块将javascript代码放入页面的标题部分,如:

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

// My script code goes here...

<?php $html->scriptEnd(); ?>
数组'inline'=>false实际上是告诉cake将我的脚本放在头中。现在我的问题是:如何在不将css代码放入外部文件的情况下实现同样的css代码?这种技术似乎只适用于javascript代码

多谢各位

$css = $this->Html->tag('style', '/* my css */');
$view =& ClassRegistry::getObject('view');
$view->addScript($css);
视图上的addScript函数将脚本附加到$scripts\u for\u布局变量

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

视图上的addScript函数将脚本附加到$scripts\u for\u布局变量


编辑:评论重申了我遗漏的一些重要内容,所以我修改了答案。

在我想做同样的事情时遇到了这篇文章。事实证明,从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);

另外,如果有一个HtmlHelper::tag等价于样式块,而不仅仅是内容,只是为了清洁,那就太好了。哦,好吧。

当我想做同样的事情时,我偶然发现了这篇文章。事实证明,从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);

另外,如果有一个HtmlHelper::tag等价于样式块,而不仅仅是内容,只是为了清洁,那就太好了。哦,好吧。

风格总是属于头脑。也许你可以尝试,如果不适合的话,搜索文档,例如,然后黑客攻击cakePHP来添加你需要的功能。样式总是属于头部。也许你可以尝试一下,如果不适合的话,可以搜索文档,例如,然后破解cakePHP来添加你需要的功能。@Dave Whoops完全没有做到这一点。修改了答案。仍然没有抓住要点-他希望能够在自己的视图中编写样式代码,但将其填充到其标题布局文件中。无法测试,但现在删除了我的否决票,因为您的答案似乎已步入正轨:@Dave Whoops完全没有做到这一点。修改了答案。仍然没有抓住要点-他希望能够在自己的视图中编写样式代码,但将其填充到其标题布局文件中。无法测试,但现在删除了我的否决票,因为您的答案似乎已步入正轨: