本文共 9423 字,大约阅读时间需要 31 分钟。
1
在文件template/customer/form/register.phtml52行加入下面代码(只要放在form表单里面就可以!)
<select name="customergroup">
<?php $collectionss = Mage::getModel('customer/group')->getCollection(); foreach($collectionss as $coller=>$clo){ //echo $clo['customer_group_id']."###".$clo['customer_group_code']."<br/>"; echo "<option value='".$clo['customer_group_id']."'>".$clo['customer_group_code']."</option>"; } ?> </select>
2
在app/code/core/mage/customer/controllers/accountcontroller.php文件的大约第281行。
找到 $customer->getGroupId();(在 createPostAction()方法里面)
然后把 $customer->getGroupId();注释掉,然后加入下面这段代码
$customgroupid = $this->getRequest()->getParam('customergroup');
$customer->setGroupId($customgroupid);
3
OK,可以了!!
在第一步,有排版的问题,如果懒,直接用下面的代码替换文件register.phtml
<?php
/** * Magento * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE_AFL.txt. * It is also available through the world-wide-web at this URL: * * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade Magento to newer * versions in the future. If you wish to customize Magento for your * needs please refer to for more information. * * @category design * @package base_default * @copyright Copyright (c) 2010 Magento Inc. () * @license Academic Free License (AFL 3.0) */?><?php/** * Create account form template * * @see Mage_Customer_Block_Form_Register */?><div class="account-create"> <div class="page-title"> <h1><?php echo $this->__('Create an Account') ?></h1> </div> <?php echo $this->getChildHtml('form_fields_before')?> <?php echo $this->getMessagesBlock()->getGroupedHtml() ?> <form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="form-validate"> <div class="fieldset"> <input type="hidden" name="success_url" value="<?php echo $this->getSuccessUrl() ?>" /> <input type="hidden" name="error_url" value="<?php echo $this->getErrorUrl() ?>" /> <h2 class="legend"><?php echo $this->__('Personal Information') ?></h2> <ul class="form-list"> <li class="fields"> <?php echo $this->getLayout()->createBlock('customer/widget_name')->setObject($this->getFormData())->toHtml() ?> </li> <li> <div style="float:left;width:274px;"> <label for="email_address" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label> <div class="input-box"> <input type="text" name="email" id="email_address" value="<?php echo $this->htmlEscape($this->getFormData()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="input-text validate-email required-entry" /> </div> </div> <div style="float:left;width:290px;"><label for="email_address" class="required"><em>*</em><?php echo $this->__('Customer Group') ?></label>
<div class="input-box">
<select style="height:21px;" name="customergroup">
<?php $collectionss = Mage::getModel('customer/group')->getCollection(); foreach($collectionss as $coller=>$clo){ //echo $clo['customer_group_id']."###".$clo['customer_group_code']."<br/>"; echo "<option value='".$clo['customer_group_id']."'>".$clo['customer_group_code']."</option>"; } ?> </select> </div></div>
</li>
<?php if ($this->isNewsletterEnabled()): ?> <li class="control"> <div class="input-box"> <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" /> </div> <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label> </li> <?php endif ?> <?php $_dob = $this->getLayout()->createBlock('customer/widget_dob') ?> <?php if ($_dob->isEnabled()): ?> <li><?php echo $_dob->setDate($this->getFormData()->getDob())->toHtml() ?></li> <?php endif ?> <?php $_taxvat = $this->getLayout()->createBlock('customer/widget_taxvat') ?> <?php if ($_taxvat->isEnabled()): ?> <li><?php echo $_taxvat->setTaxvat($this->getFormData()->getTaxvat())->toHtml() ?></li> <?php endif ?> <?php $_gender = $this->getLayout()->createBlock('customer/widget_gender') ?> <?php if ($_gender->isEnabled()): ?> <li><?php echo $_gender->setGender($this->getFormData()->getGender())->toHtml() ?></li> <?php endif ?> </ul> </div> <?php if($this->getShowAddressFields()): ?> <div class="fieldset"> <input type="hidden" name="create_address" value="1" /> <h2 class="legend"><?php echo $this->__('Address Information') ?></h2> <ul class="form-list"> <li class="fields"> <div class="field"> <label for="company"><?php echo $this->__('Company') ?></label> <div class="input-box"> <input type="text" name="company" id="company" value="<?php echo $this->htmlEscape($this->getFormData()->getCompany()) ?>" title="<?php echo $this->__('Company') ?>" class="input-text" /> </div> </div> <div class="field"> <label for="telephone" class="required"><em>*</em><?php echo $this->__('Telephone') ?></label> <div class="input-box"> <input type="text" name="telephone" id="telephone" value="<?php echo $this->htmlEscape($this->getFormData()->getTelephone()) ?>" title="<?php echo $this->__('Telephone') ?>" class="input-text required-entry" /> </div> </div> </li> <li class="wide"> <label for="street_1" class="required"><em>*</em><?php echo $this->__('Street Address') ?></label> <div class="input-box"> <input type="text" name="street[]" value="<?php echo $this->htmlEscape($this->getFormData()->getStreet(1)) ?>" title="<?php echo $this->__('Street Address') ?>" id="street_1" class="input-text required-entry" /> </div> </li> <?php for ($_i=2, $_n=$this->helper('customer/address')->getStreetLines(); $_i<=$_n; $_i++): ?> <li class="wide"> <div class="input-box"> <input type="text" name="street[]" value="<?php echo $this->htmlEscape($this->getFormData()->getStreet($_i)) ?>" title="<?php echo $this->__('Street Address %s', $_i) ?>" id="street_<?php echo $_i?>" class="input-text" /> </div> </li> <?php endfor ?> <li class="fields"> <div class="field"> <label for="city" class="required"><em>*</em><?php echo $this->__('City') ?></label> <div class="input-box"> <input type="text" name="city" value="<?php echo $this->htmlEscape($this->getFormData()->getCity()) ?>" title="<?php echo $this->__('City') ?>" class="input-text required-entry" id="city" /> </div> </div> <div class="field"> <label for="region_id" class="required"><em>*</em><?php echo $this->__('State/Province') ?></label> <div class="input-box"> <select id="region_id" name="region_id" title="<?php echo $this->__('State/Province') ?>" class="validate-select" style="display:none;"> <option value=""><?php echo $this->__('Please select region, state or province') ?></option> </select> <script type="text/javascript"> //<![CDATA[ $('region_id').setAttribute('defaultValue', "<?php echo $this->getFormData()->getRegionId() ?>"); //]]> </script> <input type="text" id="region" name="region" value="<?php echo $this->htmlEscape($this->getRegion()) ?>" title="<?php echo $this->__('State/Province') ?>" class="input-text" style="display:none;" /> </div> </div> </li> <li class="fields"> <div class="field"> <label for="zip" class="required"><em>*</em><?php echo $this->__('Zip/Postal Code') ?></label> <div class="input-box"> <input type="text" name="postcode" value="<?php echo $this->htmlEscape($this->getFormData()->getPostcode()) ?>" title="<?php echo $this->__('Zip/Postal Code') ?>" id="zip" class="input-text validate-zip-international required-entry" /> </div> </div> <div class="field"> <label for="country" class="required"><em>*</em><?php echo $this->__('Country') ?></label> <div class="input-box"> <?php echo $this->getCountryHtmlSelect() ?> </div> </div> </li> </ul> <input type="hidden" name="default_billing" value="1" /> <input type="hidden" name="default_shipping" value="1" /> </div> <?php endif; ?> <div class="fieldset"> <h2 class="legend"><?php echo $this->__('Login Information') ?></h2> <ul class="form-list"> <li class="fields"> <div class="field"> <label for="password" class="required"><em>*</em><?php echo $this->__('Password') ?></label> <div class="input-box"> <input type="password" name="password" id="password" title="<?php echo $this->__('Password') ?>" class="input-text required-entry validate-password" /> </div> </div> <div class="field"> <label for="confirmation" class="required"><em>*</em><?php echo $this->__('Confirm Password') ?></label> <div class="input-box"> <input type="password" name="confirmation" title="<?php echo $this->__('Confirm Password') ?>" id="confirmation" class="input-text required-entry validate-cpassword" /> </div> </div> </li> </ul> </div> <div class="buttons-set"> <p class="required"><?php echo $this->__('* Required Fields') ?></p> <p class="back-link"><a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>" class="back-link"><small>« </small><?php echo $this->__('Back') ?></a></p> <button type="submit" title="<?php echo $this->__('Submit') ?>" class="button"><span><span><?php echo $this->__('Submit') ?></span></span></button> </div> </form> <script type="text/javascript"> //<![CDATA[ var dataForm = new VarienForm('form-validate', true); <?php if($this->getShowAddressFields()): ?> new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip'); <?php endif; ?> //]]> </script></div>转载地址:http://kncli.baihongyu.com/