En aras de la exhaustividad, puede agregar manualmente bloques y variables a las listas blancas en Sistema> Permisos> Variables y Sistema> Permisos> Bloques . Los códigos que agregue allí están en el formulario web/unsecure/base_url
(ruta de configuración) o rss/order_new
(alias de clase de bloque).
Respuesta original
Mi script de actualización se ve así:
/*
* 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();
}
}
Reemplace $blockNames
y $variableNames
con el suyo. La siguiente herramienta ayuda a encontrar variables y bloques usados: https://github.com/peterjaap/magerun-addons
Cargar las variables / bloques primero asegura que no intentes insertar duplicados (esto podría bloquear el script). Esto me sucedió porque el script me mostró las variables "trans_email / ident_general / email" y "trans_email / ident_support / email" que ya están incluidas en la lista blanca en la versión final del parche.
Cómo usar el script de actualización
Colóquelo en un módulo personalizado como script de actualización de datos (los scripts de actualización de datos se ejecutan después del script de actualización normal, esto asegura que las tablas ya existan). Si todavía no tiene un módulo que usa para las actualizaciones de configuración, créelo de esta manera:
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
(como anteriormente)
{{config}}
directivas necesitan listas blancas. El código está destinado a proyectos, no a extensiones, por lo que asumo una tienda parcheada, pero las extensiones deben verificar la versión de Magento (o mejor, verificar si las tablas existen)