Сценарий настройки не может прочитать base_url
-
16-10-2019 - |
Вопрос
Мне нужно программно установить конфигурацию на основе экземпляров Magento 'base_url. Я не могу получить доступ к 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 не знает, на какую хранилище ссылается сценарий. Какие у вас предложения?
Решение
Я предполагаю, что вы выполняете этот код в sql
каталог. Этот предназначен только для изменения структуры базы данных. Как вы подозревали, не все инициализируется, когда выполнены сценарии SQL Setup.
Чтобы работать с данными, поместите свой код в 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/"