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)
{{config}}
dyrektywy wymagają białej listy. Kod jest przeznaczony dla projektów, a nie dla rozszerzeń, więc zakładam załatany sklep, ale rozszerzenia powinny sprawdzić wersję Magento (lub lepiej, sprawdzić, czy tabele istnieją)Możesz dodać je ręcznie w zapleczu Magento w obszarze System> Uprawnienia> Zmienne i System> Uprawnienia> Bloki po zainstalowaniu Magento 1.9.2.2.
Wtyczki używające niestandardowych zmiennych bloków będą musiały dodać skrypt aktualizacji danych o kodzie podobnym do pokazanego poniżej.
źródło
Można znaleźć nowe tabele po
SUPEE-6788
zainstalowaniu łatkipermission_variable
permission_block
I możesz dodać zmienne konfiguracyjne lub bloki do tych tabel białej listy.
źródło