我正在爲我的客戶開發一家在線商店,而我們的Magento設置中只有一個網站。Magento - Adminhtml - 新客戶表單中的默認網站
在管理面板中,當我轉到添加客戶屏幕時,在「關聯到網站」字段中,我看到默認情況下選擇「管理員」。我想默認我的網站。
我想一個可能的方法是寫一些代碼: Mage_Adminhtml_Block_Customer_Edit_Tab_Account ::在initForm
我正在爲我的客戶開發一家在線商店,而我們的Magento設置中只有一個網站。Magento - Adminhtml - 新客戶表單中的默認網站
在管理面板中,當我轉到添加客戶屏幕時,在「關聯到網站」字段中,我看到默認情況下選擇「管理員」。我想默認我的網站。
我想一個可能的方法是寫一些代碼: Mage_Adminhtml_Block_Customer_Edit_Tab_Account ::在initForm
我心領神會從Lrrr's答案並填充只有用戶添加網站的下拉菜單,即「請選擇」和「管理員」不再可以通過添加以下行作爲選項:
$form->getElement('website_id')->setValues(Mage::getSingleton('adminhtml/system_store')->getWebsiteValuesForForm());
在這個函數的結尾:
Mage_Adminhtml_Block_Customer_Edit_Tab_Account::initForm
理想的辦法是當然的覆蓋上述功能在自己的模塊,但在我們的例子覆蓋上面的類爲其它分機,我們必須創建衝突安裝,所以我採取這種方式。
或者你可以簡單的編輯陣列:
Mage_Customer_Model_Customer_Attribute_Source_Website::getAllOptions()
最簡單的方法是在數據庫中設置默認值。這將不需要更改代碼。
UPDATE eav_attribute
SET default_value = 1
WHERE attribute_code = 'website_id'
上面的示例MySQL語句設置默認website_id爲1
我發現這是我的網站非常簡單,乾淨的解決方案。它不涉及任何代碼更改並解決OP問題。唯一潛在的缺點是,您似乎無法在Magento Admin中查看/修改此值,因此本質上它是一種「隱藏」的配置更改,可能使其他團隊成員難以看見。 – PromInc 2016-08-22 18:41:49