Php 多站点eZ平台安装

Php 多站点eZ平台安装,php,symfony,twig,ezpublish,ezplatform,Php,Symfony,Twig,Ezpublish,Ezplatform,我正在构建一个多站点eZ平台安装,我需要为我的模板指定一个主布局。 现在我有一个模板article.html.twig: {% extends "main_layout.html.twig" %} {% block content %} <h1>{{ ez_render_field(content, 'body') }}</h1> {% endblock %} 请帮帮我 如果我误解了你的目标,请纠正我,但是你确认可以通过检查域来排序吗?我假设它们会有所不同,因

我正在构建一个多站点eZ平台安装,我需要为我的模板指定一个主布局。 现在我有一个模板article.html.twig:

{% extends "main_layout.html.twig" %}

{% block content %}
    <h1>{{ ez_render_field(content, 'body') }}</h1>
{% endblock %}

请帮帮我

如果我误解了你的目标,请纠正我,但是你确认可以通过检查域来排序吗?我假设它们会有所不同,因此可以用作分隔符:

{% if app.request.baseUrl == 'site1' %}
    ...
{% else %}
   ...
{% endif %}

如果我没有错,我也相信你可以创建一个默认的细枝控制器加载器来预先决定这一点,而不是将逻辑留给你的视图:

如果我误解了你的目标,请纠正我,但你是否确认它可以通过检查域来排序?我假设它们会有所不同,因此可以用作分隔符:

{% if app.request.baseUrl == 'site1' %}
    ...
{% else %}
   ...
{% endif %}

如果我没有错的话,我还相信您可以创建一个默认的Twig Controller加载程序来预先决定这一点,而不是将逻辑留给您的视图:

您可以在配置中配置布局:

ezpublish:
    system:
        site1:
            pagelayout: "tpl1.html.twig"
        site2:
            pagelayout: "tpl2.html.twig"
之后,您可以在完整视图中使用以下内容:

{% extends pagelayout %}

{% block content %}
    ...
{% endblock %}
pagelayout是eZ平台根据当前siteaccess从上述配置中预填充的变量。我相信它至少需要eZ平台1.2

还应注意,pagelayout变量仅在全视图模板中可用。希望使用已配置页面布局的其他模板必须使用以下内容:

{% extends ezpublish.configResolver.parameter('pagelayout') %}

您只需在配置中配置布局:

ezpublish:
    system:
        site1:
            pagelayout: "tpl1.html.twig"
        site2:
            pagelayout: "tpl2.html.twig"
之后,您可以在完整视图中使用以下内容:

{% extends pagelayout %}

{% block content %}
    ...
{% endblock %}
pagelayout是eZ平台根据当前siteaccess从上述配置中预填充的变量。我相信它至少需要eZ平台1.2

还应注意,pagelayout变量仅在全视图模板中可用。希望使用已配置页面布局的其他模板必须使用以下内容:

{% extends ezpublish.configResolver.parameter('pagelayout') %}
看看这里

您可以使用设计引擎,在该引擎中可以设置具有回退功能的不同主题。 定义一个基本主题每个站点添加一个额外的主题,您可以在其中覆盖任何模板。

请查看此处

您可以使用设计引擎,在该引擎中可以设置具有回退功能的不同主题。
定义一个基本主题每个站点添加一个额外的主题,您可以在其中覆盖任何模板。

请告诉我们您尝试了什么,得到了什么结果或错误。请告诉我们您尝试了什么,得到了什么结果或错误。非常感谢!我已经找到了一个解决办法,但是你最后一句话会帮你解决的。谢谢!我已经找到了解决办法,但你最后一句话会派上用场的