Par souci d'exhaustivité, vous pouvez ajouter manuellement des blocs et des variables aux listes blanches sous Système> Autorisations> Variables et Système> Autorisations> Blocs . Les codes que vous ajoutez sont sous la forme web/unsecure/base_url
(chemin de configuration) ou rss/order_new
(alias de classe de bloc).
Réponse originale
Mon script de mise à niveau ressemble à ceci:
/*
* 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();
}
}
Remplacez $blockNames
et $variableNames
par les vôtres. L'outil suivant aide à trouver les variables et les blocs utilisés: https://github.com/peterjaap/magerun-addons
Le chargement des variables / blocs en premier s'assure que vous n'essayez pas d'insérer des doublons (cela planterait le script). Cela m'est arrivé parce que le script m'a montré les variables "trans_email / ident_general / email" et "trans_email / ident_support / email" qui figurent déjà dans la liste blanche de la version finale du correctif.
Comment utiliser le script de mise à niveau
Placez-le dans un module personnalisé en tant que script de mise à niveau des données (les scripts de mise à niveau des données sont exécutés après un script de mise à niveau normal, ce qui garantit que les tables existent déjà). Si vous n'avez pas encore de module que vous utilisez pour les mises à jour de configuration, créez-le comme ceci:
app / etc / modules / 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
(comme ci-dessus)