2012-01-19 3 views
1

symfony1.1では、渡されたJavaScriptやアプリケーションのスタイルシートを一切含まないモジュールを開発しました。モジュールのview.ymlに渡されたJavaScriptおよびStylesheetファイルの埋め込みを無効にするにはどうすればよいですか?

私はモジュール固有のview.ymlを作成しましたが、無効にする構文が見つかりません。

私の元の質問は、JavaScriptとCSSだけでした。しかし今、私はmetasとhttp_tagsも削除したいと思っています。私が取得するいくつかの理由:

all: 
    http_metas: [-*] 
    metas: [-*] 

実際のタグ

<meta name="0" content="-*" /> 

は、ここでは異なる何人を知っていますか?

答えて

5

渡されたすべてのjavascriptとスタイルシートを除外することも、特定のものだけを削除することもできます。例えば

indexSuccess: 
    stylesheet: [-style] 

か:

indexSuccess: 
    stylesheet: [-*] 
+0

これはjavascriptとスタイルシートでは正常に動作します。今私はmetasとhttp_metasについても同様にしたいと思いますが、実際のメタタグ ''を取得します。あなたはここで何をすべきか知っていますか? – k0pernikus

0

It does not seem possible for metas


あなた自身があなたのアプリケーション内の特定のモジュールのデフォルトのメタタグを削除したいかもしれません。これはview.ymlまたはmodule.ymlでは不可能です。解決策はsfWebResponseクラスを拡張して、getMetas()メソッドをオーバーライドすることです。これにより、特別な動作に影響を与えることなく不要なタグを除外することができます。タイトルタグのために。

class myWebResponse extends sfWebResponse 
{ 
    public function getMetas() 
    { 
    $meta_tags = $this->parameter_holder->getAll('helper/asset/auto/meta'); 
    if ($this->getContext()->getModuleName() == 'special_module' && array_key_exists('bad_meta', $meta_tags)) { 
     unset($meta_tags['bad_meta']); 
    } 
    return $meta_tags; 
    } 
} 
関連する問題