Расширения Magento: Как мне сообщить моей системе сборки, где расположена активная тема?

#magento #themes

#magento #темы

Вопрос:

Моей чрезвычайно простой системе сборки для Magento необходимо развернуть некоторый код интерфейса расширения в соответствующую папку темы. Но я не знаю, как заставить ее узнать, в какую папку помещать файлы во время сборки. Кто-нибудь знает, как получить эти данные из Magento?

Комментарии:

1. Все они .. код в app / design / frontend / XXXXXXXXXXX / XXXXXXXX и ресурсы в skin / frontend / XXXXXXXX / XXXXXXX

Ответ №1:

Поместите свой код в base/default тему ( default/default до версии 1.4 или обе на всякий случай), и он будет доступен для всех тем благодаря наследованию.

Комментарии:

1. Это неосуществимый вариант.

Ответ №2:

Каждое хранилище в Magento может устанавливать свою собственную тему, поэтому у вас может быть несколько вариантов для рассмотрения. Также некоторые страницы, такие как CMS, страницы категорий или продуктов, могут выбрать свою собственную тему, чтобы переопределить магазин и глобальные настройки.

Чтобы найти пакет и тему, соответствующие папке, app/design/frontend/PACKAGE/THEME используйте;

 Mage::getStoreConfig('design/package/name', $storeId)
  

и;

 Mage::getStoreConfig('design/theme/default', $storeId)
  

При вызове из PHP-файла, внешнего по отношению к Magento, вам нужно include 'app/Mage.php'; сначала. $storeId Значением может быть либо значение int, используемое внутри, либо код хранилища, сохраненный в System> Configuration> Manage Stores — обычно существует по крайней мере значение по умолчанию.