Для полноты можно вручную добавить блоки и переменные в белые списки в разделе « Система»> «Разрешения»> «Переменные и система»> «Разрешения»> «Блоки» . Коды, которые вы добавляете, находятся в форме web/unsecure/base_url
(путь конфигурации) или rss/order_new
(псевдоним класса блока).
Оригинальный ответ
Мой скрипт обновления выглядит так:
/*
* Make sure the upgrade is not performed on installations without the tables
* (i.e. unpatched shops).
*/
$adminVersion = Mage::getConfig()->getModuleConfig('Mage_Admin')->version;
if (version_compare($adminVersion, '1.6.1.2', '>=')) {
$blockNames = array(
'cms/block',
'catalog/product_list',
'germany/impressum',
'page/html',
'magesetup/imprint_field',
'magesetup/imprint_content'
);
foreach ($blockNames as $blockName) {
$whitelistBlock = Mage::getModel('admin/block')->load($blockName, 'block_name');
$whitelistBlock->setData('block_name', $blockName);
$whitelistBlock->setData('is_allowed', 1);
$whitelistBlock->save();
}
$variableNames = array(
'design/email/logo_alt',
'design/email/logo_width',
'design/email/logo_height',
);
foreach ($variableNames as $variableName) {
$whitelistVar = Mage::getModel('admin/variable')->load($variableName, 'variable_name');
$whitelistVar->setData('variable_name', $variableName);
$whitelistVar->setData('is_allowed', 1);
$whitelistVar->save();
}
}
Замени $blockNames
и $variableNames
на свой. Следующий инструмент помогает найти используемые переменные и блоки: https://github.com/peterjaap/magerun-addons
Сначала загружая переменные / блоки, убедитесь, что вы не пытаетесь вставить дубликаты (это может привести к сбою скрипта). Это произошло со мной, потому что скрипт показал мне переменные «trans_email / идент_генерал / электронная почта» и «trans_email / идент_поддержка / электронная почта», которые уже занесены в белый список в финальной версии патча.
Как использовать скрипт обновления
Поместите его в пользовательский модуль в качестве сценария обновления данных (сценарии обновления данных запускаются после обычного сценария обновления, это гарантирует, что таблицы уже существуют). Если у вас еще нет модуля, который вы используете для обновлений конфигурации, создайте его следующим образом:
приложение / и т.д. / модули / Project_Config.xml
<?xml version="1.0"?>
<config>
<modules>
<Project_Config>
<active>true</active>
<codePool>local</codePool>
</Project_Config>
</modules>
</config>
Приложение / код / местные / Project / Config / и т.д. / config.xml
<?xml version="1.0"?>
<config>
<modules>
<Project_Config>
<version>0.1.0</version>
</Project_Config>
</modules>
<global>
<resources>
<project_config>
<setup>
<module>Project_Config</module>
<class>Mage_Core_Model_Resource_Setup</class>
</setup>
</project_config>
</resources>
</global>
</config>
Приложение / код / местные / Project / Config / данные / project_config / данных установки-0.1.0.php
(как указано выше)
{{config}}
директивы нуждаются в белых списках. Код предназначен для проектов, а не для расширений, поэтому я предполагаю, что исправлен магазин, но расширения должны проверить версию Magento (или, лучше, проверить, существуют ли таблицы)