Dla kompletności możesz ręcznie dodawać bloki i zmienne do białych list w obszarze System> Uprawnienia> Zmienne i System> Uprawnienia> Bloki . Kody, które tam dodajesz, mają postać web/unsecure/base_url
(ścieżka konfiguracji) lub rss/order_new
(alias klasy bloku).
Oryginalna odpowiedź
Mój skrypt aktualizacji wygląda następująco:
/*
* 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();
}
}
Wymień $blockNames
i $variableNames
na własny. Następujące narzędzie pomaga znaleźć używane zmienne i bloki: https://github.com/peterjaap/magerun-addons
Ładowanie zmiennych / bloków najpierw upewnia się, że nie próbujesz wstawiać duplikatów (spowodowałoby to awarię skryptu). Stało się tak, ponieważ skrypt pokazał mi zmienne „trans_email / ident_general / email” i „trans_email / ident_support / email”, które są już na białej liście w końcowej wersji łatki.
Jak korzystać ze skryptu aktualizacji
Umieść go w niestandardowym module jako skrypt aktualizacji danych (skrypty aktualizacji danych są uruchamiane po normalnym skrypcie aktualizacji, dzięki czemu tabele już istnieją). Jeśli nie masz jeszcze modułu używanego do aktualizacji konfiguracji, utwórz go w następujący sposób:
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
(jak powyżej)