5

私はそこにあるcssを読みました

app/Resources/FOSUserbundle/css

小枝テンプレートにそれを含めるにはどうすればよいですか

私が css を配置している理由は、オーバーライドされたすべての FOSUser テンプレートがそのフォルダーにあるためです。だから私はcss、jsイメージをすべてそこに保持したいので、他のウェブサイトで使用する必要がある場合はそのフォルダをコピーするだけです

4

3 に答える 3

6

あなたがしたことはまったく問題ありません。

次のことを行うだけです:-

$ app/console assets:install web

Twig テンプレートで使用するために、資産が技術的に存在するはずのパブリック「web」ディレクトリに資産をインストールします。

アセットは、次のように Twig テンプレート内で使用できます。

    {% block stylesheets %}
        <link href="{{ asset('/css/main.css') }}" type="text/css" rel="stylesheet" />
    {% endblock %}


    {% block javascripts %}
        <script src="{{ asset('/js/main.js') }}" type="text/javascript"></script>
    {% endblock %}
于 2012-01-12T18:37:43.693 に答える
6

I'm not quite sure how you would include that in your TWIG templates, but ...

1) I put the resources I use in several bundles / projects in the web/ directory. Then you can reference then like this:

{% stylesheets 'css/styles.css' %}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}

2) If you need to override the FOSUserbundle anyway, you can put the resources inside the inheriting bundle, referencing them like this:

{% javascripts '@YourBundle/Resources/public/js/scripts.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
于 2012-01-12T14:34:49.190 に答える
3

質問は大文字と小文字を区別して上書きすることを示唆していますが、css または js がバンドル構造から離れた共通のフォルダーにある場合も求められます。

1 つの答えは、利用可能な twig 変数を使用することです。たとえば、ここに css ファイルが 1 つあるとします。

app/Resources/views/clientSite/customFolder/css/mycss.css

次のようなものを使用して、任意のテンプレートを読み込むことができます (この例では完全なスタイルシート ブロックを上書きしていますが、必須ではありません。スタイルシートの小枝タグは任意のブロックに追加できます):

{% block stylesheets %}
    {{ parent() }}
    {% stylesheets '%kernel.root_dir%/Resources/views/clientSite/customFolder/css/mycss.css'
    %}
    <link rel="stylesheet" type="text/css" href="{{ asset_url }}" />
    {% endstylesheets %} 
{% endblock %}

また、assetic:dump コマンドを実行することを忘れないでください。これにより、symfony は、css を他のすべてのファイルとともに web/css フォルダーに公開する必要があることを認識します。

于 2014-12-11T20:23:58.513 に答える