对于Symfony中的特定操作,是否有任何方法可以在view.yml中禁用样式表?
例如我在我的视图中得到了这个。是的:
default:
stylesheets: [default.css]
我希望能够做到这样的事情:
displaySuccess:
stylesheet: [!default.css]
仅在displaySuccess中禁用default.css
这是可能的还是我必须明确说出哪些模块/操作应该有default.css?
答案 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值,看看你是否应该包含单个文件,这样可以更容易地打开和关闭它们。