Сценарий установки не может прочитать базовый URL-адрес


Мне нужно программно настроить конфигурацию на основе base_url экземпляров Magento. Кажется, я не могу получить доступ к base_url из моего сценария установки/настройки:

$installer = $this;
$installer->startSetup();
var_dump(Mage::getStoreConfig('web/unsecure/base_url'));
var_dump(Mage::getBaseUrl());
var_dump(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB));
die();

Это выводит:

null
string 'index.php/' (length=10)
string '/' (length=1)

Я думаю, что возможно, что конфигурации на данный момент не инициализированы, и, возможно, мне нужно их инициализировать. Или кажется более вероятным, что Magento не знает, на какое хранилище ссылается скрипт. Каковы ваши предложения?

Author: Francis Kim, 2013-10-18

1 answers

Я предполагаю, что вы выполняете этот код в каталоге sql. Этот предназначен только для изменения структуры базы данных. Как вы и подозревали, не все инициализируется при выполнении сценариев установки sql.

Для работы с данными поместите свой код в каталог data.

Вывод sql/emzee_exampleextension_setup/install-0.0.1.php:

NULL
string(10) "index.php/"
string(1) "/" 

Вывод data/emzee_exampleextension_setup/data-install-0.0.1.php:

string(30) "http://test02.magentoshops.vm/"
string(30) "http://test02.magentoshops.vm/"
string(30) "http://test02.magentoshops.vm/" 
 7
Author: Matthias Zeis, 2013-10-18 04:20:52