【问题标题】:Override for certain tag覆盖特定标签
【发布时间】:2015-06-08 12:06:08
【问题描述】:

我需要对某个标签进行覆盖,但我不知道怎么做,因为它不是我可以用node_id 或类似的东西来定位的东西。我尝试使用url_alias:

[eztag_search_2]
Source=tags/view.tpl
MatchFile=full/tags/view2.tpl
Subdir=templates
Match[url_alias]=tags/view/News/Important

但它不起作用。我能做什么?

【问题讨论】:

    标签: ezpublish


    【解决方案1】:

    我认为您不能覆盖特定标签的模板。 您必须在没有匹配规则的情况下为 tags/view.tpl 创建覆盖,并在模板代码中指定规则。

    【讨论】:

    • 我需要两个不同的视图——所有标签(即tags/view.tpl)和特定的一个——现在我设法使用if/else,但这是一个非常糟糕的解决方案。
    • 我明白,但你不能用经典覆盖来做到这一点。
    【解决方案2】:

    Sylvain 说得对,你不能使用覆盖系统根据标签本身来管理不同的模板。

    解决方案#1:实现一个模板操作符,它将处理带有自定义逻辑的标签列表,该逻辑将在显示标签时从模板切换到另一个模板。

    解决方案 #2,与解决方案 1 相距不远:实现 {tag_view_gui} 运算符,以便您可以从模板覆盖机制继承。这真的不复杂,我建议你看一下ezflow {block_view_gui},因为它非常简单,解耦成扩展。

    见:https://github.com/ezsystems/ezflow/blob/master/packages/ezflow_extension/ezextension/ezflow/autoloads/eztemplateautoload.php

    【讨论】:

      猜你喜欢
      • 2015-01-29
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 2012-03-11
      • 2021-05-20
      • 2019-03-30
      • 2019-03-04
      相关资源
      最近更新 更多