我正在編程創建網站/用戶等...Magento:設置剛剛創建的網站的配置值?
這是問題:創建網站時,我不能馬上設置配置值。
代碼:
<?php
/* Website information */
$website_data = array(
'name' => 'Company name',
'code' => 'website_company_1',
'sort_order' => '1',
);
/* Save website */
$website = Mage::getModel('core/website');
$website->setData($website_data);
$website->save();
/* Get website code */
$web_code = $website->getCode();
/* R-int stores */
Mage::app()->reinitStores();
/* Config data array example */
$data = array('name' => 'Company 1', 'phone' => '056 22 33 61')
/* Set config values in array */
$groups = array();
foreach($data as $key => $value){
$groups['store_information']['fields'][$key]['value'] = $value;
}
/* Save config values */
Mage::getModel('adminhtml/config_data')
->setSection('general')
->setWebsite($web_code)
->setStore(NULL)
->setGroups($groups)
->save();
/* Re-init again */
Mage::app()->reinitStores();
然而,這並不能出於某種原因,但如果我先創建一個網站(代碼相同),然後執行此之後配置保存功能,它工作正常。就好像它需要首先加載一個新的頁面,然後才能設置/更新配置值。我認爲重新啓動會解決這個問題,但它不會...
想法?
的更多細節將有助於人們調試此。具體來說,$ website_data和$ data中的內容以及它們從哪裏填充。 – 2010-08-30 20:38:49
增加了一些示例代碼,因爲實際的代碼是很重要的。這兩個都只是關聯數組,可以正常工作,但已經創建的網站只是不在上,這是在同一個腳本中創建的... – Rakward 2010-08-31 06:36:54
我懷疑這裏有一些索引。嘗試開啓SQL日誌記錄(參考http://www.magentocommerce。com/boards/viewreply/77655 /)在創建網站後捕獲任何索引或其他活動,然後追蹤負責該代碼的代碼,並將其複製到代碼中。 – 2010-08-31 06:41:39