Как я могу изменить идентификатор store_id клиента в Magento или установить атрибут «create_from» при создании нового клиента - PullRequest
4 голосов
/ 24 марта 2011

Я хочу иметь возможность выбрать, в каком магазине связывать нового клиента, когда я создаю его учетную запись в качестве администратора.Я обнаружил, что переопределив этот файл:

app / code / core / Mage / Adminhtml / Block / Customer / Edit / Tab / 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», но не сохраняет идентификатор, который я ввожу в него.Я хочу, чтобы он сохранил эту информацию, а также показал мне выпадающий список магазинов на выбор вместо пустого ввода текста.То, как разработчики Magento реализовали свои формы с использованием Zend, действительно сбивает с толку.Пожалуйста, помогите!

edit:

Вот почему мне нужно контролировать, с каким магазином связан покупатель: у меня несколько магазинов, и мне нужно перенаправить покупателей при успешном входе в магазин, связанный с ихучетная запись.Аккаунты могут быть созданы только администратором.Хранилища, отличные от заданных по умолчанию, могут быть доступны только тем пользователям, которые вошли в систему и связаны с этим хранилищем.

1 Ответ

1 голос
/ 30 марта 2011

это то, что Вы ищете:?

Поставьте это после 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');
...