2011-01-27 80 views
4

我正在爲我的客戶開發一家在線商店,而我們的Magento設置中只有一個網站。Magento - Adminhtml - 新客戶表單中的默認網站

在管理面板中,當我轉到添加客戶屏幕時,在「關聯到網站」字段中,我看到默認情況下選擇「管理員」。我想默認我的網站。

我想一個可能的方法是寫一些代碼: Mage_Adminhtml_Block_Customer_Edit_Tab_Account ::在initForm

回答

2

我心領神會從Lrrr's答案並填充只有用戶添加網站的下拉菜單,即「請選擇」和「管理員」不再可以通過添加以下行作爲選項:

$form->getElement('website_id')->setValues(Mage::getSingleton('adminhtml/system_store')->getWebsiteValuesForForm()); 

在這個函數的結尾:

Mage_Adminhtml_Block_Customer_Edit_Tab_Account::initForm 

理想的辦法是當然的覆蓋上述功能在自己的模塊,但在我們的例子覆蓋上面的類爲其它分機,我們必須創建衝突安裝,所以我採取這種方式。

2

或者你可以簡單的編輯陣列:

Mage_Customer_Model_Customer_Attribute_Source_Website::getAllOptions() 
3

最簡單的方法是在數據庫中設置默認值。這將不需要更改代碼。

UPDATE eav_attribute 
SET default_value = 1 
WHERE attribute_code = 'website_id' 

上面的示例MySQL語句設置默認website_id爲1

+1

我發現這是我的網站非常簡單,乾淨的解決方案。它不涉及任何代碼更改並解決OP問題。唯一潛在的缺點是,您似乎無法在Magento Admin中查看/修改此值,因此本質上它是一種「隱藏」的配置更改,可能使其他團隊成員難以看見。 – PromInc 2016-08-22 18:41:49

相關問題