Demi kelengkapan, Anda dapat secara manual menambahkan blok dan variabel ke daftar putih di bawah Sistem> Izin> Variabel dan Sistem> Izin> Blok . Kode yang Anda tambahkan ada di form web/unsecure/base_url
(jalur config) atau rss/order_new
(alias kelas blok).
Jawaban asli
Skrip upgrade saya terlihat seperti ini:
/*
* 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();
}
}
Ganti $blockNames
dan $variableNames
dengan Anda sendiri. Alat berikut membantu menemukan variabel dan blok bekas: https://github.com/peterjaap/magerun-addons
Memuat variabel / blokir terlebih dahulu memastikan bahwa Anda tidak mencoba untuk memasukkan duplikat (ini akan membuat skrip crash) Ini terjadi pada saya karena skrip menunjukkan kepada saya variabel "trans_email / ident_general / email" dan "trans_email / ident_support / email" yang sudah masuk daftar putih dalam rilis patch final.
Cara menggunakan skrip pemutakhiran
Tempatkan dalam modul khusus sebagai skrip pemutakhiran data (skrip pemutakhiran data dijalankan setelah skrip pemutakhiran normal, ini memastikan bahwa tabel sudah ada). Jika Anda belum memiliki modul yang Anda gunakan untuk pembaruan konfigurasi, buat seperti ini:
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
(seperti di atas)
{{config}}
arahan yang memerlukan daftar putih. Kode ini ditujukan untuk proyek, bukan untuk ekstensi, jadi saya menganggap toko yang ditambal, tetapi ekstensi harus memeriksa versi Magento (atau lebih baik, periksa apakah tabelnya ada)