脚本宝典收集整理的这篇文章主要介绍了php – Magento:在注册时选择客户组,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
跟随着
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> <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类(也许是更好的方法吗?)
我搞砸了什么?
<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,请注明来意。