質問

私はそこにあるCSSをhvaeします

app/Resources/FOSUserbundle/css

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

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

役に立ちましたか?

解決

Twigテンプレートにそれをどのように含めるかはよくわかりませんが...

1)Web /ディレクトリのいくつかのバンドル /プロジェクトで使用するリソースを配置します。次に、次のように参照できます。

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

2)とにかくFosuserbundleをオーバーライドする必要がある場合は、リソースを継承バンドル内に配置して、次のように参照できます。

{% javascripts '@YourBundle/Resources/public/js/scripts.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

他のヒント

あなたがしたことは完全に大丈夫です。

次のことを行います: -

$ app/console assets:install web

Twigテンプレートで使用するために、資産が技術的に使用されるべきである公共の「Web」ディレクトリに資産をインストールします。

その後、資産は次のような小枝テンプレート内で使用できます。

    {% 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 %}

質問はケースを示唆し、オーバーライドしますが、CSSまたはJSがバンドル構造から離れた一般的なフォルダーにある場合も適しています。

答えの1つは、利用可能なTwig変数を使用することです。たとえば、ここに1つのCSSファイルがある場合

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

このようなものを使用して任意のテンプレートにロードできます(例としては、完全なスタイルシートブロックをオーバーライドしますが、必須ではありませんが、任意のブロックにStyleSheet Twigタグを追加できます):

{% 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フォルダーに公開する必要があることを知っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top