0

MagentoストアのベースURL(セキュアおよび非セキュア)をプログラムで変更したい。

次の図に示すように、設定はバックエンドで手動で変更できます。

http://geo.magenting.com/m/kb/images/attachments/change-magento-base-url_1.jpg

各店舗の4と5の値を変更したいと思います。

このようなもの:

$store = Mage::getModel('core/store')->load($storeId);
$store -> setBaseUrlSecure("xyz.com");
$store -> save();

私がそれを行う方法について何か助けはありますか?

4

3 に答える 3

4

これは、(「通常の」セットアップスクリプトではなく)データセットアップスクリプトで行うのが最適です。を参照してくださいMage_Core_Model_Resource_Setup::setConfigData()

セットアップスクリプトで、ストアをループし、次のようにデータを設定します。

/*
    ...
    @var $installer Mage_Core_Model_Resource_Setup
*/
$stores = Mage::app()->getStores();
foreach ($stores as $storeId => $store) {
    $installer->setConfigData('web/unsecure/base_url',$value,'stores',$storeId);
    $installer->setConfigData('web/secure/base_url',$sValue,'stores',$storeId);
}

/* ... */

明らかに、正しいストアごとにURLを挿入する方法を決定するのはあなた次第です。

于 2012-12-04T17:22:45.820 に答える
1

データベース内のデータを直接更新する方法が1つあることは知っていますが、それを行うにはもっと良い方法があるかもしれません。

SELECT * FROM core_config_data where path like 'web/unsecure/base_url' or path like 'web/secure/base_url';

scope_idスコープがstore_id「ストア」の場合です。そこに値を更新または挿入するだけです。

于 2012-12-04T16:33:13.690 に答える
0

'web/unsecure/base_url'本番環境の場合は、データベースのパスとパスに'web/secure/base_url'単純に書き込むことができます{{base_url}}

したがって、MagentoはベースURLとして実際のURLを取得します。

于 2016-08-26T07:22:53.967 に答える