Для повноти ви можете вручну додати блоки та змінні до білих списків у розділі Система> Дозволи> Змінні та система> Дозволи> Блоки . Коди, які ви додаєте там, знаходяться у формі 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 / ident_general / email" та "trans_email / ident_support / email", які вже містяться у списку остаточного випуску виправлення.
Як використовувати сценарій оновлення
Розмістіть його у спеціальному модулі як сценарій оновлення даних (сценарії оновлення даних запускаються після звичайного сценарію оновлення; це гарантує, що таблиці вже існують). Якщо у вас ще немає модуля, який ви використовуєте для оновлення конфігурації, створіть його так:
app / тощо / модулі / Project_Config.xml
<?xml version="1.0"?>
<config>
<modules>
<Project_Config>
<active>true</active>
<codePool>local</codePool>
</Project_Config>
</modules>
</config>
app / code / local / Project / Config / etc / 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>
app / code / local / Project / Config / data / project_config / data-install-0.1.0.php
(як зазначено вище)