Um alle Änderungen in alle Umgebungen zu migrieren, verwende ich Datenbank-Upgrade-Skripte. Ich benutze sie, um verschiedene Instanzen (Kunden, Steuereinstellungen usw.) zu erstellen, aber normalerweise statische Blöcke und Konfigurationseinstellungen zu migrieren.Magento: Migration statischer Blöcke und Konfigurationseinstellungen
statischen Blöcke zu migrieren:
<?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();
?>
Um Einstellungen zu migrieren:
<?php
Mage::getModel('core/config')->saveConfig('design/theme/default', 'theme');
?>
Ich weiß, dass wir Magento-Einstellungen über config.xml ändern können:
<default>
<general>
<store_information>
<name>My Store</name>
</store_information>
<content_staging>
<block_frontend_stub>home</block_frontend_stub>
</content_staging>
</general>
</default>
Aber so weit Soweit ich weiß, können wir Einstellungen nur dann auf diese Weise ändern, wenn die Pfade: general/store_informat Ion/name und
general/content_staging/block_frontend_stub existiert nicht bei db oder ihre Werte gleich NULL, es über xml, wenn der Wert nicht NULL wir nicht ändern können. Ich habe es in meiner lokalen Umgebung getestet und ich denke, dass ich recht habe, aber ich kann keinen Code bei Magento finden, der für die Konfiguration über XML zuständig ist. Bin ich richtig?
Können Sie mir den Teil des Codes zeigen, der dafür verantwortlich ist? Und was sind Ihre besten Migrationspraktiken für Magento? Vielleicht weiß ich nicht etwas :)