今天我开始在magento网站的注册表中工作。如您所知,默认情况下它具有gender drop down
. 我需要将其更改为checkbox
.
到目前为止,我去了register.phtml
文件,并尝试添加<input type="radio" ...../>
选择文件,但这没有奏效。
有谁知道如何解决这个问题!请给我一些建议,这样......
今天我开始在magento网站的注册表中工作。如您所知,默认情况下它具有gender drop down
. 我需要将其更改为checkbox
.
到目前为止,我去了register.phtml
文件,并尝试添加<input type="radio" ...../>
选择文件,但这没有奏效。
有谁知道如何解决这个问题!请给我一些建议,这样......
Do not forget the validation!
<div class="input-box">
<?php
$options = Mage::getResourceSingleton('customer/customer')->getAttribute('gender')->getSource()->getAllOptions();
$value = $this->getGender();
$_last = count($options);
$_index = 0;
?>
<?php foreach ($options as $option):?>
<?php if($option['value'] != ''): ?>
<input id="<?php echo $this->getFieldId('gender')?>-<?php echo $option['value'] ?>"
class="radio<?php if ($this->isRequired() && $_index == $_last - 1):?> validate-one-required<?php endif; ?>"
type="radio" title="<?php echo $option['label'] ?>"
value="<?php echo $option['value'] ?>" name="<?php echo $this->getFieldName('gender')?>"
<?php if ($option['value'] == $value) echo ' checked="checked"' ?>>
<label for="<?php echo $this->getFieldId('gender')?>-<?php echo $option['value'] ?>">
<?php echo $option['label'] ?>
</label>
<?php endif; ?>
<?php $_index++; ?>
<?php endforeach;?>
</div>
Magento 在注册表单上使用小部件。实际上,在模板 register.phtml 中,您可以看到以下几行:
<?php $_gender = $this->getLayout()->createBlock('customer/widget_gender') ?>
<?php if ($_gender->isEnabled()): ?>
<li><?php echo $_gender->setGender($this->getFormData()->getGender())->toHtml() ?></li>
<?php endif ?>
这个特定的小部件可以在template/customer/widget
目录中找到。因此,为了将选择更改为单选按钮,请将其(模板)复制到您的主题并进行修改,例如:
<div class="input-box">
<label><?php echo $this->__('Gender'); ?></label>
<?php $options = Mage::getResourceSingleton('customer/customer')->getAttribute('gender')->getSource()->getAllOptions();?>
<?php $value = $this->getGender();?>
<?php foreach ($options as $option):?>
<input type="radio" name="<?php echo $this->getFieldName('gender')?>" value="<?php echo $option['value'] ?>"<?php if ($option['value'] == $value) echo ' selected="selected"' ?> /><?php echo $option['label'] ?>
<br />
<?php endforeach;?>
</div>
希望没有打错字。