Вот ситуация: у меня есть несколько самодельных модулей, все протестированы и работают с использованием темы по умолчанию. Затем мы купили и установили новую тему. Перешли на новую тему и модули не показываются. После нескольких пробных / неудачных тестов я обнаружил, что мне нужно скопировать соответствующие файлы макета и шаблона в соответствующие папки недавно установленной темы.
Итак, мой вопрос: что я должен сделать, чтобы все мои модули работали с любой темой, установленной после установки модуля?
configuration
layout
Ярослав
источник
источник
Ответы:
Пример:
источник
Суровая правда, вы не можете действительно гарантировать , что они будут. Размещение ваших файлов
base/default
(илиdefault/default
если они переопределяют основные шаблоны - поскольку вы не хотите перезаписывать базовые файлы при установке модуля, хотя это заставляет вас сохранять дубликаты для корпоративной версии), гарантируют, что они станут резервными, но файлы тем будут всегда быть наивысшим уровнем приоритета.Большинство модулей поставляются с руководством по установке, которое включает упоминание о том, чтобы скопировать файлы шаблона в тему пользователя, если они есть. Это самое лучшее, что вы можете сделать.
источник
Одна вещь, которую мы использовали пару раз, это модуль [Fabrizio Branca] [1] [Custom Fallback] [2]. Это очень полезный модуль для определения собственной резервной иерархии тем. Одна вещь, которую вы можете сделать, это указать:
Затем любые модули, которые помещают свои собственные шаблоны в
default/default
тему. Не будет работать, если они пытаются переопределитьbase/default
пакеты.Вы можете указать любое количество пакетов / тем в пользовательской резервной иерархии.
источник
Любой файл шаблона и макета в
base/default
будет загружен, если он не будет переопределен где-то по пути. Однако, если ваш пользовательский модуль является виджетом, вы должны убедиться, что он отображается там, где это необходимо. Если, например, вы вносите изменения, которые отображаются на странице продукта черезgetChildHtml
, то эти вызовы должны быть также в соответствующей теме. Однако, если ваши шаблоны модулей являются страницами сами по себе и они не загруженыbase/default
, то что-то блокирует конфигурацию макета, и вы должны найти что.источник
getChild
, у меня действительно есть несколько звонков такого рода.На это нет простого ответа. Это зависит от модулей, которые у вас есть. Например, некоторые модульные компании переопределяют основные файлы. Таким образом, вы должны сначала проверить , какие файлы доступны в
app/etc/modules
иapp/code/local/Mage
,app/code/community/Mage
папке. Как вы, возможно, знаете, первая папка - это папка инициализации модуля, которую вы можете отключить или включить модули, связанные с XML-файлами. Последние две папки (если они доступны) являются папками, переопределяющими основной код.Затем откройте один из XML-файлов, которые доступны в
etc/modules
каталоге. Вы увидите что-то вроде ниже:Вот важные части
Company
иNamespace
. Когда вы посещаете папкиapp/code/local
илиapp/code/community
, вы увидите папку с именемCompany
и последующим именем подкаталогаNamespace
.При поиске
Namespace
вы увидите подпапку с именем/etc
. Этот файл конфигурации, связанный с модулем хранения папокconfig.xml
. Этот файл имеет строки конфигурации, относящиеся к модулю, с помощью которых вы можете указать, какие файлы связаны с этим модулем.Как я сказал в своей первой строке, это трудно управлять.
источник