3

レンダリングされたWebページに結合されたリンクを生成するためにAsseticを取得しようとすると、いくつかの問題が発生します。ファイル自体は正常に生成されていますが、実稼働環境のWebページでは、引き続き個別のファイルURLが表示されます(これらの結合されていないファイルは使用できないため、実稼働環境では機能しません)。

テンプレートには、次のものがあります。

{% stylesheets
    '@TBundle/Resources/public/css/bootstrap/bootstrap.css'
    '@TBundle/Resources/public/css/bootstrap/bootstrap-responsive.css'

    '@TBundle/Resources/public/css/jquery-selectbox/jquery.selectBox.css'
%}
    <link href="{{ asset_url }}" rel="stylesheet" media="screen" />
{% endstylesheets %}

本番環境では、これは引き続き次のようにレンダリングされます。

<link href="/css/2f787d0_bootstrap_1.css" rel="stylesheet" media="screen" />
<link href="/css/2f787d0_bootstrap-responsive_2.css" rel="stylesheet" media="screen" />
<link href="/css/2f787d0_jquery.selectBox_3.css" rel="stylesheet" media="screen" />

それにもかかわらず、私が呼び出すと、次のphp app/console assetic:dump --env=prodようになります。

11:13:43 [dir+] /var/www/tbundle/app/../web/css
11:13:43 [file+] /var/www/tbundle/app/../web/css/2f787d0.css

Symfony2のデフォルトのAssetic設定を使用しています。これを引き起こしている可能性があるものについて何か考えはありますか?

4

1 に答える 1

15

私はこれとまったく同じ問題を抱えていました、そして私にとって問題は私のapp.phpファイルにありました。私は次のようにカーネルをロードしていました:

$kernel = new AppKernel('prod', true);

これにより、関数がデバッグモードで実行されず、アセットが結合されたように見えます。2番目の引数をfalseに変更すると、アセットは本番環境で正常に結合され、開発では結合されないままになりました。

$kernel = new AppKernel('prod', false);

また、引数としてcombine = trueを渡して、この機能が正しく機能していることをテストするためだけにアセットを結合するように明示的に要求することもできます。

于 2012-11-11T08:41:09.583 に答える