0

我正在努力将Assetic集成到我正在构建的应用程序中。该应用程序遵循 MVC 模式,但不使用任何框架。Twig用于模板。

我已阅读文档并查看了一些有用的 博客文章

该应用程序的结构如下:

  • 应用
    • 树枝模板
    • js
    • css
  • public_html
    • js
    • css
    • 图片

树枝模板被渲染然后由应用程序返回,所以这很简单。文件夹下的andjs文件夹将保存原始的 javascript 和 css 文件。cssapplication

我的计划是将组合和缩小的 js 和 css 文件存储在public_html 文件夹下的jsand文件夹中。css

由于我不打算使用assetic优化任何图像,它们将直接放在images下面的文件夹中public_html

现在的问题:

  • 我知道通过使用树枝中的资产,可以将组合和缩小的资产导出到我的 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 %}
    

    在这种情况下,我怎样才能让资产知道它应该合并childstyle.css并将mainstyle.css其作为 1 个文件提供?

4

1 回答 1

0

至于这个答案,不可能将来自父级的继承样式表与子级的 跨继承模板组合资产资源结合起来

于 2012-03-31T05:41:45.790 回答