Per completezza, è possibile aggiungere manualmente blocchi e variabili alle liste bianche in Sistema> Autorizzazioni> Variabili e sistema> Autorizzazioni> Blocchi . I codici aggiunti lì sono nel modulo web/unsecure/base_url
(percorso di configurazione) o rss/order_new
(alias della classe di blocco).
Risposta originale
Il mio script di aggiornamento è simile al seguente:
/*
* 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();
}
}
Sostituisci $blockNames
e $variableNames
con il tuo. Il seguente strumento aiuta a trovare variabili e blocchi usati: https://github.com/peterjaap/magerun-addons
Il caricamento delle variabili / dei blocchi assicura innanzitutto che non si provi a inserire duplicati (ciò causerebbe l'arresto anomalo dello script). Questo mi è successo perché lo script mi mostrava le variabili "trans_email / ident_general / email" e "trans_email / ident_support / email" che sono già presenti nella whitelist nella versione finale della patch.
Come utilizzare lo script di aggiornamento
Inseriscilo in un modulo personalizzato come script di aggiornamento dei dati (gli script di aggiornamento dei dati vengono eseguiti dopo il normale script di aggiornamento, questo assicura che le tabelle esistano già). Se non hai ancora un modulo che usi per gli aggiornamenti di configurazione, crealo in questo modo:
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 / progetto / 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 / / progetto / config / dati / project_config / dati-installazione-0.1.0.php locale
(come sopra)