【问题标题】:include template from another extension ezpublish包含来自另一个扩展 ezpublish 的模板
【发布时间】:2016-02-26 05:48:39
【问题描述】:

在我当前的扩展模板中,我需要包含来自另一个扩展的模板。 如果我写

{include uri="design:article/full.tpl"}

它将在我当前的扩展中搜索。我如何将其定向到其他分机?根据文档,有一个 name 参数。 name 的值应该是什么? https://doc.ez.no/eZ-Publish/Technical-manual/3.8/Reference/Template-functions/Miscellaneous/include

【问题讨论】:

    标签: ezpublish


    【解决方案1】:

    design:article/full.tpldesign 部分已经应该做你想做的事了。它将搜索article/full.tpl 模板,从您的设计文件夹extension/myextension/design 中的templates 文件夹开始。

    eZ Publish 将使用以下规则找到好的模板:

    首先:确定哪些设计用于站点访问。查看您的 site.ini 文件中的 [DesignSettings]s

    [DesignSettings]
    SiteDesign=a_design_specific_or_not_to_your_siteaccess
    AdditionalSiteDesignList[]=another_generic_design
    AdditionalSiteDesignList[]=standard
    AdditionalSiteDesignList[]=base
    

    然后:确定哪些扩展提供设计。请参阅每个扩展的 design.ini 文件中的 [ExtensionSettings] 块(extension/ezflow/settings/design.ini.append.php 的示例):

    [ExtensionSettings]
    DesignExtensions[]=ezflow
    

    最后,eZ Publish 查找模板。先尝试SiteDesign设计,然后从上到下尝试所有AdditionalSiteDesignList设计。一旦找到模板,查找就会停止,并且此信息会被缓存(即使您的 TemplaceCache / TemplateCompile / ... 已禁用)。请记住缓存部分,每次添加新模板时,意味着要覆盖另一个模板,您需要清除缓存。

    因此,如果我们只有 2 个提供设计的扩展程序,例如 ezflowmysite,eZ Publish 将尝试以下路径:

    extension/mysite/design/a_design_specific_or_not_to_your_siteaccess/templates/full/article.tpl
    extension/mysite/design/another_generic_design/templates/full/article.tpl
    extension/mysite/design/standard/templates/full/article.tpl
    extension/mysite/design/base/templates/full/article.tpl
    
    extension/ezflow/design/a_design_specific_or_not_to_your_siteaccess/templates/full/article.tpl
    extension/ezflow/design/another_generic_design/templates/full/article.tpl
    extension/ezflow/design/standard/templates/full/article.tpl
    extension/ezflow/design/base/templates/full/article.tpl
    
    design/a_design_specific_or_not_to_your_siteaccess/templates/full/article.tpl
    design/another_generic_design/templates/full/article.tpl
    design/standard/templates/full/article.tpl
    design/base/templates/full/article.tpl
    

    请注意,我假设mysite 扩展的优先级高于ezflow。见settings/override/site.ini.append.php

    [ExtensionSettings]
    ActiveExtensions[]
    ActiveExtensions[]=mysite
    ....
    ActiveExtensions[]=ezflow
    ....
    

    这适用于system 模板。内容模板(attribute_view_guinode_view_gui 函数使用的模板)的过程略有不同,请参阅 https://doc.ez.no/eZ-Publish/Technical-manual/4.x/Templates/The-template-override-system

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-08
      • 2016-03-22
      • 2011-06-02
      • 2013-10-01
      • 2012-08-15
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      相关资源
      最近更新 更多