为Symfony中的特定动作禁用CSS样式表
问题描述:
在Symfony中的特定动作中,是否有任何方法在view.yml中禁用样式表?为Symfony中的特定动作禁用CSS样式表
比如我在我的view.yml得到这个:
default:
stylesheets: [default.css]
我希望能够做一些事情,如:
displaySuccess:
stylesheet: [!default.css]
在displaySuccess只
禁用default.css这是可能的还是我必须明确说出哪些模块/操作应该有default.css?
答
您可以删除或通过以下操作添加样式表到模块的view.yml:
displaySuccess:
stylesheet: [-default]
将从显示动作删除default.css。干脆把
displaySuccess:
stylesheet: [-*]
将删除所有样式表。
答
我不是百分百肯定的,但我相信编译的view.yml文件是在执行动作之前处理的。如果是这样,你可以这样做:
public function executeDisplay()
{
$this->response->removeStylesheet('default.css');
}
我发现view.yml有点不灵活。您可能会发现将全局“头”模板包含在您的布局中会更容易。然后,您可以检查sfConfig值以查看是否应包含单个文件,从而更容易打开和关闭它们。
答
删除例如不需要的/sfDoctrinePlugin/css/default.css,现在您可以用自己的覆盖后端样式!
也许把它变成YOUT layout.php中:
<?php sfContext::getInstance()->getResponse()->removeStylesheet('/sfDoctrinePlugin/css/global.css'); ?>
<?php sfContext::getInstance()->getResponse()->removeStylesheet('/sfDoctrinePlugin/css/default.css'); ?>
没有不工作,但我认为你是正确的,包括它在
的模板,因为我使用的是不同的无论如何,该行动的布局 – dazpinto 2010-12-01 15:45:33