Para garantir a integridade, você pode adicionar manualmente blocos e variáveis às listas brancas em Sistema> Permissões> Variáveis e Sistema> Permissões> Blocos . Os códigos que você adiciona estão no formato web/unsecure/base_url
(caminho da configuração) ou rss/order_new
(alias da classe de bloco).
Resposta original
Meu script de atualização fica assim:
/*
* 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();
}
}
Substitua $blockNames
e $variableNames
por você mesmo. A ferramenta a seguir ajuda a encontrar variáveis e blocos usados: https://github.com/peterjaap/magerun-addons
Carregar as variáveis / blocos primeiro garante que você não tente inserir duplicatas (isso poderia travar o script). Isso aconteceu comigo porque o script me mostrou as variáveis "trans_email / ident_general / email" e "trans_email / ident_support / email" que já estão na lista de permissões na versão final do patch.
Como usar o script de atualização
Coloque-o em um módulo personalizado como script de atualização de dados (scripts de atualização de dados são executados após o script de atualização normal, isso garante que as tabelas já existam). Se você ainda não possui um módulo usado para atualizações de configuração, crie-o assim:
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 acima)
{{config}}
diretivas precisam da lista de permissões. O código destina-se a projectos, não para extensões, assim que eu supor uma loja remendado, mas extensões devem verificar a versão Magento (ou melhor, verifique se existem as tabelas)