Вопрос

Мне нужно программно установить конфигурацию на основе экземпляров 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/" 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top