構築中のアプリケーションにAsseticを統合する作業を行っています。アプリケーションは MVC パターンに従いますが、フレームワークは使用しません。Twigはテンプレートに使用されます。
私はドキュメントを読み、いくつかの役立つ ブログ投稿を見てきました。
アプリケーションは次のように構成されています。
- 応用
- 小枝テンプレート
- js
- CSS
- public_html
- js
- CSS
- 画像
twig テンプレートはレンダリングされてからアプリケーションによって返されるため、非常に簡単です。フォルダーの下のjs
およびフォルダーには、生の JavaScript および css ファイルが保持されます。css
application
私の計画は、js と css ファイルを組み合わせて縮小し、public_html フォルダーの下のjs
andフォルダーに格納することです。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.jpg
にhttp://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.css
しmainstyle.css
て 1 つのファイルとして提供する必要があることをどのように知らせることができますか?