2010-12-01 8 views
6

symfonyの特定のアクションに対してview.ymlでスタイルシートを無効にする方法はありますか?Symfonyの特定のアクションのCSSスタイルシートを無効にする

は、例えば、私は私のview.ymlでこれを持っている:

displaySuccess: 
    stylesheet: [!default.css] 

のみ

displaySuccessでdefault.cssを無効にする:

default: 
    stylesheets: [default.css] 

は、私のような何かを行うことができるようにしたいです

これは可能ですか、default.cssを持つモジュール/アクションを明示的に指定する必要がありますか?

答えて

14

次の手順で、モジュールview.ymlにスタイルシートを削除したり追加することができます。

displaySuccess: 
    stylesheet: [-default] 

は表示動作からdefault.cssを削除します。単に入れて

displaySuccess: 
    stylesheet: [-*] 

すべてのスタイルシートを削除します。

1

私は100%確信していませんが、私はコンパイルされたview.ymlファイルがアクションの実行前に処理されると思います。それが本当であれば、次のようにすることができます:

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

私はview.ymlが少し柔軟でないと感じます。あなたのレイアウトに含まれるグローバル "頭"テンプレートを持つほうが簡単かもしれません。次に、sfConfigの値をチェックして個々のファイルを含めるべきかどうかを確認し、ファイルを簡単にオンまたはオフにすることができます。

+0

ありません動作しませんが、私は別のを使用しているので、私は、あなたが右のテンプレート上でそれを含めて約だと思いますとにかくその行動のためのレイアウト – dazpinto

2

不要な/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'); ?> 
関連する問題