Magento: Wählen Sie Kundengruppe bei der Registrierung

Der Versuch, eine hinzuzufügenGruppen-ID Optionsfeld aktiviertMagento Pro v1.11

Folgen zusammen mit
http://phpmagento.blogspot.com/2012/01/how-to-show-customer-group-selecter-in.html und
http://developersindia.info/magento/magento-override-frontend-controller.html,
Das funktioniert bis zu einem gewissen Punkt, aber die group_id wird nicht in die db geschrieben.

Mein bisheriges Modul:

Verzeichnisaufbau

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

    }

}




Thema ../ persistent / customer / form / 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>

Die Optionsfelder mit den Gruppen werden bei der Registrierung gut angezeigt, aber die Daten werden nicht in die Datenbank geschrieben, da die Gruppe in der Datenbank immer noch als "Allgemein" angezeigt wirdadmin/manage customers

Ich möchte Core-Dateien nicht wirklich ändern, wie der Artikel beschreibt,Ich bin nicht sicher, ob ich den Magier richtig überschreibeaccountController Klasse (Vielleicht gibt es einen besseren Weg, dies zu tun?)

Was mache ich falsch?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage