如何在Magento中更改customer store_id或在创建新客户时设置“created_from”属性

时间:2011-03-24 19:25:27

标签: magento store

我希望能够选择将新客户与我以管理员身份创建帐户时关联的商店。我发现通过覆盖这个文件:

  

应用程序/代码/核心/法师/ Adminhtml /砌块/客户/编辑/标签/ Account.php

更改此内容:

if ($customer->getId()) {
        $form->getElement('website_id')->setDisabled('disabled');
        $form->getElement('created_in')->setDisabled('disabled');
    } else {
        $fieldset->removeField('created_in');
    }

To This:

if ($customer->getId()) {
        $form->getElement('website_id');//->setDisabled('disabled');
        $form->getElement('created_in');//->setDisabled('disabled');
    } else {
        //$fieldset->removeField('created_in');
    }

这给了我一个带有“Created From”标签的文本输入,但它不能保存我输入的id。我希望它保存这些信息,并向我显示可供选择的商店下拉列表,而不是空文本输入。 Magento开发人员使用zend实现表单的方式实在令人困惑。请帮忙!

编辑:

这就是我需要控制与客户相关联的商店的原因:我有多个商店,需要在成功登录与其帐户关联的商店后重定向客户。帐户只能由管理员创建。只有登录并与该商店相关联的用户才能访问默认商店以外的商店。

1 个答案:

答案 0 :(得分:1)

这就是你要找的东西:?

将此问题放在您在问题中提到的if之后。

$fieldset->removeField('created_in');
$fieldset->addField('created_in', 'select', array(
   'name'      => 'created_in',
   'label'     => Mage::helper('adminhtml')->__('Created In'),
   'id'        => 'created_in',
   'title'     => Mage::helper('adminhtml')->__('Created In'),
   'class'     => 'input-select',
   'style'     => 'width: 80px',
   'options'   => array(
   //Put here list of websites || stores || store views
      'key_1' => 'VALUE_1', 
      'key_2' => 'VALUE_2'
   ),
), 'website_id');