Magento: Seleccione un grupo de clientes en el registro
Tratando de agregar unIdentificación del grupo botón de radio establecido enMagento Pro v1.11
Siguiendo junto con
http://phpmagento.blogspot.com/2012/01/how-to-show-customer-group-selecter-in.html y
http://developersindia.info/magento/magento-override-frontend-controller.html,
que está funcionando hasta cierto punto, pero el group_id no se está escribiendo en la db.
Mi módulo, hasta ahora:
Estructura de directorios
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
}
}
tema ../ persistente / cliente / formulario / registro.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>
Por lo tanto, los botones de opción con los grupos aparecen bien en el registro, pero los datos no se escriben en la base de datos, ya que el grupo todavía se muestra como general en laadmin/manage customers
accountController
clase (tal vez hay una mejor manera de hacer esto?)¿Qué estoy jodiendo?