2016-02-26 1 views
0

В моем текущем шаблоне расширения мне нужно включить шаблон из другого расширения. Если я пишувключают шаблон из другого расширения ezpublish

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

он будет искать в моем текущем расширении. Как я могу направить его на другое расширение? Согласно документу есть параметр name. Какая должна быть ценность имени? https://doc.ez.no/eZ-Publish/Technical-manual/3.8/Reference/Template-functions/Miscellaneous/include

ответ

1

design часть design:article/full.tpl уже должна делать то, что вы хотите. Он будет искать шаблон article/full.tpl, начиная с папки templates в вашей папке с дизайном extension/myextension/design.

Ez Опубликовать будет использовать следующие правила, чтобы найти хороший шаблон:

Первое: детерминированный, которые конструкции используются для siteaccess. См [DesignSettings] блок в вашем site.ini файл ы

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

Тогда: детерминированные, какие расширения предлагает конструкции. См [ExtensionSettings] блок в файле design.ini каждого расширения (Exemple из extension/ezflow/settings/design.ini.append.php):

[ExtensionSettings] 
DesignExtensions[]=ezflow 

Наконец, Ez Опубликовать внешний вид шаблона. Сначала будет проецироваться дизайн SiteDesign, а затем все модели AdditionalSiteDesignList сверху вниз. После того, как шаблон найден, поиск останавливается, и эта информация кэшируется (даже если ваш TemplaceCache/TemplateCompile/... отключен). Помните часть кеша, каждый раз, когда вы добавляете новый шаблон, предназначенный для переопределения другого, вам нужно очистить кеш.

Так что, если у нас есть только два расширения, предлагающее дизайн, скажу ezflow и mysite, Ez Опубликовать будет попробовать следующие пути:

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_gui и node_view_gui), см. https://doc.ez.no/eZ-Publish/Technical-manual/4.x/Templates/The-template-override-system