php – Magento:在注册时选择客户组

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – Magento:在注册时选择客户组脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
尝试在Magento PRo v1.11中添加group_id单选按钮

跟随着
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没有写入数据库.

我的模块,到目前为止:

目录结构

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

    }

}

主题../持续性/客户/表格/ 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>

因此,组中的单选按钮在注册显示正常,但数据未写入数据库,因为组仍然在管理/管理客户中显示为一般

>我真的不想修改核心文件,正如文章所描述的那样,
>我不确定我是否正确地覆盖了法师
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>之间没有空格.和内容和< / tag>

脚本宝典总结

以上是脚本宝典为你收集整理的php – Magento:在注册时选择客户组全部内容,希望文章能够帮你解决php – Magento:在注册时选择客户组所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。