Magento - Adminhtml - 新客户表单中的默认网站

时间:2011-01-27 13:14:33

标签: magento e-commerce

我正在为我的客户开发一个在线商店,我们的Magento设置中只有一个网站。

在我转到添加客户屏幕的管理面板中,在“关联到网站”字段中,我看到默认选择“管理员”。我想默认将我的网站放在那里。

我认为一种可能的方法是编写一些代码: Mage_Adminhtml_Block_Customer_Edit_Tab_Account ::在initForm

3 个答案:

答案 0 :(得分:4)

最简单的方法是在数据库中设置默认值。这将不需要任何代码更改。

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

上面的示例MySQL语句将您的默认website_id设置为1。

答案 1 :(得分:2)

或者您可以在以下位置编辑数组:

Mage_Customer_Model_Customer_Attribute_Source_Website::getAllOptions()

答案 2 :(得分:2)

我从Lrrr's回答中提示并填充了只有用户添加的网站的下拉列表,即“请选择”和“管理员”作为选项不再可用,添加以下行:< / p>

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

在此功能结束时:

Mage_Adminhtml_Block_Customer_Edit_Tab_Account::initForm

理想的方法当然是在一个人自己的模块中覆盖上面的函数,但在我们的情况下,覆盖上面的类会为我们安装的另一个扩展创建冲突,所以我采用这种方式。