2016-12-23 2 views
0

に示されていない:私はapp_dev.phpページをロードする際資産私はHEADブロックでこれを持っているのdevの環境

{% stylesheets filter='yui_css' output='css/base.css' 
      '@MutualContratosBundle/Resources/public/css/ui/south-street/jquery-ui.css' 
      '@MutualContratosBundle/Resources/public/css/base.css' 
      filter='cssrewrite' %} 
    <link rel="stylesheet" href="{{ asset_url }}" /> 
    {% endstylesheets %}   

    {% block stylesheets %}{% endblock %} 

    {% javascripts filter='yui_js' output='js/base.js' 
      '@MutualContratosBundle/Resources/public/js/jquery-1.10.2.js' 
      '@MutualContratosBundle/Resources/public/js/ui/jquery.ui.core.js' 
      '@MutualContratosBundle/Resources/public/js/ui/jquery.ui.widget.js' 
      '@MutualContratosBundle/Resources/public/js/ui/jquery.ui.menu.js' %} 
    <script type="text/javascript" src="{{ asset_url }}"></script> 
    {% endjavascripts %}  

、すべての資産が示されていません。私は放火犯で見ると、資産のこの種は、ロードしようとしている:prod環境で

http://server/app_dev.php/css/base_jquery-ui_1.css

問題はありません。私が展開され、資産を公開した場合、このCSSはウェブ/ CSSのフォルダにコピーされました:あなたは小枝テンプレートで見ての通り、私は、出力パラメータを定義している

http://server/app_dev.php/css/base.css

。それがCSSがこの名前を持つ理由です。

私はこれを開発環境でどのように解決できますか?

これはsymfony 2.3.2

答えて

0

アセットは自動的にダンプされません。コンソールからジェネレーションをトリガーする必要があります。彼らは一度ダンプ持って

app/console assetic:dump --force 

を実行また、定期的に変更するためにあなたの資産をスキャンし、修正後に新しいダンプを作成し、バックグラウンドタスクを実行することができます。

あなたがSF 2.3に残っているように、このバックグラウンドタスクのためのコマンドは、SF 2.3はもはや維持されていることを

app/console assetic:dump --watch --force 

注意です。少なくともSF 2.7または2.8にアップグレードする必要があります。これはcurrently maintained long-term support versionsです。 Asseticの新しいバージョンで

は、新しいSFバージョンにバンドル、watchコマンドは、私はそれをしなかったが、資産が正しく生成された場合でも、彼らはロードされなかった

app/console assetic:watch --force 
+0

です。これを解決するには、アセットのパスの前にコントローラを使用しないようにdevの設定を変更する必要がありました。どうしてこれなの?コントローラーが資産を正確に指すことは想定されていませんか? – jstuardo

+0

asseticによって生成された '{{asset_url}} 'が正しいことを確認しましたか?そうでない場合、それはあなたが期待するものとどのように違うのですか? – lxg

+0

"use controller"設定がtrueの場合、生成されたURLには実際のアセットパスの前にapp_dev.phpが含まれます。以前のバージョンのsymfonyを使用していましたが、これらの問題はありませんでした。実際にWebフォルダにアセットをコピーする必要はなく、コントローラのタスクが開発時にブラウザにアセットコンテンツを送信するのとまったく同じであるため、アセットをWebフォルダに配置する必要はないことを覚えています。少なくともこれは以前の動作でしたが、これが今のところ同じように動作しない場合は、「コントローラーを使用する」設定の目標は何ですか? symfonyは1.4以降で動作します。 – jstuardo

関連する問題