【问题标题】:eZ Publish extension doesn't override other extension templateeZ Publish 扩展不会覆盖其他扩展模板
【发布时间】:2013-03-07 10:13:39
【问题描述】:

我在使用 eZ Publish 和模板覆盖时遇到问题。我有两个扩展名,即 ab。扩展b扩展并需要扩展a(在扩展b的extensions.xml中)。在扩展 a 中,我有一个位于 a/design/oscar/templates/article/blocks/header.tpl 的模板文件, 我想在扩展 b 中覆盖它。我已将该文件复制到 b/design/oscar/templates/article/blocks/header.tpl 并进行了适当的更改。当我访问该站点时,它仍然使用扩展 a 中的“基本模板”。它们都在 DesignExtensions 中定义。这种行为的根源是什么?

【问题讨论】:

    标签: php ezpublish


    【解决方案1】:

    extension.xml 的使用可能有问题,具体取决于您使用的版本。

    如果删除扩展 A 中的模板会发生什么?它是否按预期工作?如果是,请尝试在 settings/override/site.ini.append.php 中重新排序已激活的扩展,看看它是否比基于 extension.xml 的解决方案效果更好。

    另一种解决方法是创建一个名为“oscar2”的设计,在您的扩展 B 中实现它,并将“oscar2”设置为主 SiteDesign,而“oscar”将是一个 AdditionnalSiteDesign。

    【讨论】:

    • 不,从扩展A中删除模板时不起作用。
    • 这听起来很奇怪。之后您是否清除了覆盖缓存(模板回退系统需要重建覆盖缓存,除非此缓存被禁用)?看起来扩展 B 未被识别为设计扩展。您应该仔细检查 settings/override/site.ini.append.php 和 extension/B/settings/design.ini.append.php
    猜你喜欢
    • 2011-12-20
    • 2016-10-17
    • 2018-01-05
    • 1970-01-01
    • 2019-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多