Symfony 2自定义主题文件夹

时间:2011-12-30 17:52:38

标签: symfony

我正在使用Symfony2设计一个多租户应用程序,将有通用模板,每个租户都可以拥有自定义模板。我想创建一个像这样的主题文件夹(像wordpress with css,img等...):

  • 主题/公地/ base.twig.html
  • 主题/公地/ CSS / Styles.css中
  • 主题/公地/ JS /的script.js

  • 主题/ tenantID / base.twig.html

  • 主题/ tenantID / CSS / Styles.css中
  • 主题/ tenantID / JS /的script.js

也许我采取了错误的方式......? 有什么建议吗?

感谢。

3 个答案:

答案 0 :(得分:0)

您的设计没有任何问题。我可以将“公共”命名为“默认”,但这取决于你。 tenantid的方法看起来对我很好。你的问题是什么?

答案 1 :(得分:0)

https://github.com/fabpot/Twig/issues/17 - 没有动态继承

LiipThemeBundle可能是一个解决方案:http://symfony2bundles.org/liip/LiipThemeBundle

答案 2 :(得分:0)

您可以通过遵循symfony标准来实现这一切。因为如果你遵循结构,你将在框架工作中完整堆栈完整的网站,你也可以学习如何使用框架工作。

喜欢

捆绑文件夹: userbulndle / CSS

userbulndle / JS

adminbundle / css等

并使用主题形成

{% block gender_widget %}
    {% spaceless %}
        {% if expanded %}

            {% for child in form %}

                <div class="radio_ele">
                    {{form_widget(child) }}
                        {{form_label(child) }}

                    </div>
            {% endfor %}

        {% else %}
            {{  block('choice_widget') }}
        {% endif %}
    {% endspaceless %}
{% endblock %}

{# ----------------------------------------------------------- #}

{% block field_errors %}
    {% spaceless %}
        {% if errors|length > 0 %}
         <div class="error_list">
            {% for error in errors %}
               {{ error.messageTemplate|trans(error.messageParameters, 'validators') }}
            {% endfor %}
       </div>
        {% endif %}
    {% endspaceless %}
{% endblock field_errors %