2012-06-22 4 views
2

Сегодня я начал работать в регистрационной форме на сайте magento. Как вы знаете, по умолчанию он имеет gender drop down. Мне нужно изменить это на checkbox.Изменить разницу по дате в полевой переключатель в magento

До сих пор я ходил в файл register.phtml и пытался добавить <input type="radio" ...../> файлы, но это не сработало.

Кто-нибудь знает, как это решить! , пожалуйста, дайте мне несколько предложений для этого ....

ответ

0

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> 

Надежда не имеет никакого опечатка.

+0

Это не работает ... – Carolina

+0

Не могли бы вы помочь решить эту проблему http://stackoverflow.com/questions/36595547/convert-dropdown-to-selection-boxes-with-color – Manik

1

Не забудьте проверить!

<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> 
Смежные вопросы