Magento: выберите группу клиентов при регистрации

Попытка добавления переключателя group_id , установленного в Magento Pro v1.11

Следуя вместе с
http://phpmagento.blogspot.com/2012/01/how-to-show-customer-group-selecter-in.html и
http://developersindia.info/magento/magento-override-frontend-controller.html ,
который работает до определенной точки, но group_id не записывается в db.

мой модуль, до сих пор:

Структура каталога

app/code/local - WACI -- Customer --- controllers ---- AccountController.php --- etc ---- config.xml 

config.xml

 <config> <modules> <WACI_Customer> <version>0.1.0</version> </WACI_Customer> </modules> <global> <fieldsets> <customer_account> <group_id><create>1</create></group_id> </customer_account> </fieldsets> </global> <frontend> <routers> <customer> <args> <modules> <WACI_Customer before="Mage_Customer_AccountController"> WACI_Customer </WACI_Customer> </modules> </args> </customer> </routers> </frontend> </config> 

AccountController.php

 <?php /** *Customer account controller * * @package WACI_Customer */ require_once Mage::getModuleDir('controllers', 'Mage_Customer').DS.'AccountController.php'; class WACI_Customer_AccountController extends Mage_Customer_AccountController { /** * Create customer account action */ public function createPostAction() { // contents of createPostAction(), with some extra logic /** * Initialize customer group id */ /* catch groupid at account creation */ if($this->getRequest()->getPost('group_id')){ $customer->setGroupId($this->getRequest()->getPost('group_id')); } else { $customer->getGroupId(); } // rest of method } } на <?php /** *Customer account controller * * @package WACI_Customer */ require_once Mage::getModuleDir('controllers', 'Mage_Customer').DS.'AccountController.php'; class WACI_Customer_AccountController extends Mage_Customer_AccountController { /** * Create customer account action */ public function createPostAction() { // contents of createPostAction(), with some extra logic /** * Initialize customer group id */ /* catch groupid at account creation */ if($this->getRequest()->getPost('group_id')){ $customer->setGroupId($this->getRequest()->getPost('group_id')); } else { $customer->getGroupId(); } // rest of method } } на <?php /** *Customer account controller * * @package WACI_Customer */ require_once Mage::getModuleDir('controllers', 'Mage_Customer').DS.'AccountController.php'; class WACI_Customer_AccountController extends Mage_Customer_AccountController { /** * Create customer account action */ public function createPostAction() { // contents of createPostAction(), with some extra logic /** * Initialize customer group id */ /* catch groupid at account creation */ if($this->getRequest()->getPost('group_id')){ $customer->setGroupId($this->getRequest()->getPost('group_id')); } else { $customer->getGroupId(); } // rest of method } } 

Тема ../ настойчивый / клиент / форма / register.phtml

 <div class="input-box"> <label for="group_id"><?php echo $this->__('Select your customer group') ?></label><br /> <?php $groups = Mage::helper('customer')->getGroups()->toOptionArray(); foreach ($groups as $group){ echo '<input type="radio" name="group_id" value="'.$group['value'].'" class="validate-radio" >'.$group['label'].'</input><br/>'; } ?> </div> 

Таким образом, переключатели с группами отображаются хорошо при регистрации, но данные не записываются в db, так как группа по-прежнему отображается как общая в admin/manage customers

  • Я не хочу изменять основные файлы, как описано в статье,
  • Я не уверен, что я должным образом переписываю класс mage accountController (возможно, лучший способ сделать это?)

Что я делаю?

Проверьте свой файл config.xml:

 <frontend> <routers> <customer> <args> <modules> <WACI_Customer before="Mage_Customer_AccountController"> WACI_Customer </WACI_Customer> </modules> </args> </customer> </routers> </frontend> 

Должно быть:

 <frontend> <routers> <customer> <args> <modules> <WACI_Customer before="Mage_Customer">WACI_Customer</WACI_Customer> </modules> </args> </customer> </routers> </frontend> 

Вы также должны обратить внимание на:

 <WACI_Customer before="Mage_Customer">WACI_Customer</WACI_Customer> 

а также

 <WACI_Customer before="Mage_Customer"> WACI_Customer </WACI_Customer> 

Вы должны убедиться, что пустое пространство между <tag> и content и </tag>

См. Ниже URL Я думаю, что это очень помогает вам.

Как разрешить клиенту выбрать группу клиентов при регистрации

http://www.magentocommerce.com/boards/viewthread/24208/

выбор группы клиентов при регистрации в magento

http://sabujcse.wordpress.com/2010/03/09/selecting-customer-group-during-registration-in-magento/

Как добавить поле группы клиентов во время регистрации в magento

http://xhtmlandcsshelp.blogspot.in/2010/12/add-customer-group-while-register-in.html

Как добавить группу в регистрационную форму

http://sapnandu-magento.blogspot.in/2011/07/how-to-add-group-in-register-form.html