禁用Symfony中特定操作的CSS样式表

时间:2010-12-01 15:14:22

标签: css symfony1

对于Symfony中的特定操作,是否有任何方法可以在view.yml中禁用样式表?

例如我在我的视图中得到了这个。是的:

default:
  stylesheets:    [default.css]

我希望能够做到这样的事情:

displaySuccess:
  stylesheet: [!default.css]

仅在displaySuccess中禁用default.css

这是可能的还是我必须明确说出哪些模块/操作应该有default.css?

3 个答案:

答案 0 :(得分:15)

您可以通过执行以下操作来删除或添加样式表到模块view.yml:

displaySuccess:
  stylesheet: [-default]

会从显示操作中删除default.css。简单地说

displaySuccess:
  stylesheet: [-*]

会删除所有样式表。

答案 1 :(得分:2)

删除例如,不必要的/sfDoctrinePlugin/css/default.css,现在您可以用自己的方式覆盖后端样式!

也许把它放到你的layout.php:

<?php sfContext::getInstance()->getResponse()->removeStylesheet('/sfDoctrinePlugin/css/global.css'); ?>

<?php sfContext::getInstance()->getResponse()->removeStylesheet('/sfDoctrinePlugin/css/default.css'); ?>

答案 2 :(得分:1)

我不是100%肯定,但我相信在执行操作之前会处理已编译的view.yml文件。如果这是真的,你可以这样做:

public function executeDisplay()
{
  $this->response->removeStylesheet('default.css');
}

我发现view.yml有点不灵活。您可能会发现更容易拥有一个包含在布局中的全局“头”模板。然后你可以检查sfConfig值,看看你是否应该包含单个文件,这样可以更容易地打开和关闭它们。