Magento は実行時に構成オブジェクトのツリー構造から構成値を直接読み取るため、構成オブジェクトのネイティブsetNode
メソッドを使用して値を変更する必要があります。ただし、Magentoがスコープ設定(セルフ リンク) でロードする方法のため、見た目ほど簡単ではありません。
現在のバージョンの Magento (古いバージョンではテストしていないと思いますが、テストはしていません) では、現在のstore
.
ステップ 1 は、現在設定されているストアのコードを取得することです。次のようにプログラムでこれを行うことができます
$store = Mage::app()->getStore();
$code = $store->getCode();
次に、次の呼び出しで構成値を設定できます
$config = Mage::getConfig();
$config->setNode("stores/$code/web/unsecure/base_skin_url", 'value_to_set');
これはすべて、 Magento が構成オブジェクトをブートストラップした後に行う必要があることに注意してください。また、Magento に構成が読み込まれる期間がありますが、ストア オブジェクトは読み込まれないことに注意してください。この場合、ストア オブジェクトからストア コードを読み込むことができません。
Pulse Storm Chaos モジュールで同様のことを行いました。作業コードに興味がある場合は、Githubにあります。