Để di chuyển tất cả thay đổi đối với tất cả các môi trường, tôi sử dụng tập lệnh nâng cấp cơ sở dữ liệu. Tôi sử dụng chúng để tạo ra các trường hợp khác nhau (khách hàng, cài đặt thuế, vv) nhưng thường để di chuyển các khối tĩnh và các thiết lập cấu hình.Magento: Di chuyển khối tĩnh và cài đặt cấu hình
Để di chuyển các khối tĩnh:
<?php
$block = Mage::getModel('cms/block');
$data = array(
'title' => 'Block title',
'identifier' => 'block_identifier',
'content' => 'block content',
'is_active' => 1,
'stores' => array(0 => Mage_Core_Model_App::ADMIN_STORE_ID),
);
$block->addData($data);
$block->save();
?>
Để di chuyển các thiết lập:
<?php
Mage::getModel('core/config')->saveConfig('design/theme/default', 'theme');
?>
tôi biết rằng chúng tôi có thể sửa đổi cài đặt Magento qua config.xml:
<default>
<general>
<store_information>
<name>My Store</name>
</store_information>
<content_staging>
<block_frontend_stub>home</block_frontend_stub>
</content_staging>
</general>
</default>
Nhưng như xa như tôi hiểu, chúng tôi có thể sửa đổi cài đặt theo cách như vậy chỉ khi đường dẫn: chung/store_informat ion/tên và
chung/content_staging/block_frontend_stub không tồn tại NULL bằng db hay giá trị của họ, nếu giá trị không phải là NULL chúng ta không thể sửa đổi nó qua xml. Tôi đã thử nghiệm nó trên môi trường địa phương của tôi và tôi nghĩ rằng tôi đúng nhưng không thể tìm thấy một mã tại Magento có trách nhiệm thiết lập cấu hình thông qua xml. Tôi có đúng không?
Bạn có thể chỉ cho tôi phần mã chịu trách nhiệm cho nó không? Và thực hành di chuyển tốt nhất của bạn cho Magento là gì? Có lẽ tôi không biết điều gì đó :)