0

構築中のアプリケーションにAsseticを統合する作業を行っています。アプリケーションは MVC パターンに従いますが、フレームワークは使用しません。Twigはテンプレートに使用されます。

私はドキュメントを読み、いくつかの役立つ ブログ投稿を見てきました。

アプリケーションは次のように構成されています。

  • 応用
    • 小枝テンプレート
    • js
    • CSS
  • public_html
    • js
    • CSS
    • 画像

twig テンプレートはレンダリングされてからアプリケーションによって返されるため、非常に簡単です。フォルダーの下のjsおよびフォルダーには、生の JavaScript および css ファイルが保持されます。cssapplication

私の計画は、js と css ファイルを組み合わせて縮小し、public_html フォルダーの下のjsandフォルダーに格納することです。css

assetic を使用して画像を最適化する予定はないので、それらは直接images下のフォルダーに配置されますpublic_html

今質問:

  • twig の assetic を使用することで、結合および縮小されたアセットを public_html ディレクトリにエクスポートできることを理解しています。

    {% stylesheets '/path/to/sass/main.sass' filter='sass,?yui_css' output='css/all.css' %}
        <link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
    {% endstylesheets %}
    

    この場合、css/all.cssそのテンプレートがレンダリングされるたびにファイルが再生成されますか?

  • アプリケーションを移植可能にし (仮想ホストを使用してホストすることも、フォルダでホストすることもできます)、 のようなルーティングされた URL を持つサイトで物事が確実に機能するようにするためにhttp://site.com/controller/action、assetic は画像の URL を絶対 URL に「書き換え」ます (つまり、 )images/a.jpghttp://mysite.com/images/a.jpg

  • ネストされたテンプレートを使用するとアセットは機能しますか?

    parent.twig:

    <!DOCTYPE html>
    <html>
        <head>
            {% block head %}
                <link rel="stylesheet" href="mainstyle.css" />
                <title>{% block title %}{% endblock %} - My Webpage</title>
            {% endblock %}
        </head>
        <body>
        </body>
    </html>
    

    child.twig:

    {% extends "parent.twig" %}
    
    {% block title %}Index{% endblock %}
    {% block head %}
        {{ parent() }}
        <link rel="stylesheet" href="childstyle.css" />
    {% endblock %}
    

    この場合、assetic に結合childstyle.cssmainstyle.cssて 1 つのファイルとして提供する必要があることをどのように知らせることができますか?

4

1 に答える 1