Это мой файл methods.phtml в onepagecheckout в magento, я хочу кнопку выпадающего меню (select option) вместо переключателя ………, чтобы я мог выбрать способ оплаты для оплаты платежа.
<?php if (!$methods = $this->getMethods()) : ?> <p><?php echo $this->helper('checkout')->__('Sorry, no quotes are available for this order at this time.') ?></p> <?php else : ?> <dl class="sp-methods"> <?php foreach ($this->getMethods() as $_method): $_code = $_method->getCode() ?> <dt> <?php if( sizeof($this->getMethods()) > 1 ): ?> <input value="<?php echo $_code ?>" type="radio" name="payment[method]" title="<?php echo $this->htmlEscape($_method->getTitle()) ?>" onclick="payment.switchMethod('<?php echo $_code ?>')"<?php if($this->getSelectedMethodCode()==$_code): ?> checked="checked"<?php endif; ?> class="radio" /> <?php else: ?> <span class="no-display"><input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" checked="checked" class="radio" /> </span> <?php endif; ?> <label for="p_method_<?php echo $_code ?>"><?php echo $this->htmlEscape($_method->getTitle()) ?> <?php echo $this->getMethodLabelAfterHtml($_method) ?></label> </dt> <?php if ($html = $this->getPaymentMethodFormHtml($_method)): ?> <dd> <?php echo $html; ?> </dd> <?php endif; ?> <?php endforeach; ?> </dl> <script type="text/javascript"> //<![CDATA[ <?php echo $this->getChildChildHtml('scripts'); ?> payment.init(); //]]> </script> <?php endif; ?>
Вы можете сделать выпадающее меню выбора для метода оплаты, как установка ниже кода в файле methods.phtml .
Также вам нужно внести изменения в строку opcheckout.js № 715, чтобы изменить "elements[i].checked"
to "elements[i].value"
.
<?php $methods = $this->getMethods(); $oneMethod = count($methods) <= 1; ?> <?php if (empty($methods)): ?> <dt> <?php echo $this->__('No Payment Methods') ?> </dt> <?php else: ?> <dt>Select Payment Method:</dt> <select name="payment[method]" onchange="payment.switchMethod(this.value);"> <?php foreach ($methods as $_method): $_code = $_method->getCode(); ?> <option id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" <?php if($this->getSelectedMethodCode()==$_code): ?> selected="selected"<?php endif; ?>> <?php echo $this->escapeHtml($this->getMethodTitle($_method)) ?> <?php echo $this->getMethodLabelAfterHtml($_method) ?> </option> <?php endforeach; ?> </select> <?php foreach ($methods as $_method): $_code = $_method->getCode(); ?> <?php if ($html = $this->getPaymentMethodFormHtml($_method)): ?> <dd id="dd_method_<?php echo $_code ?>"> <?php echo $html; ?> </dd> <?php endif; endforeach; endif; ?> <?php echo $this->getChildChildHtml('additional'); ?> <script type="text/javascript"> //<![CDATA[ <?php echo $this->getChildChildHtml('scripts'); ?> payment.init(); <?php if (is_string($oneMethod)): ?> payment.switchMethod('<?php echo $oneMethod ?>'); <?php endif; ?> //]]> </script>
Я использовал этот, чтобы получить список избранных, если он полезен
<?php $ptId1=mysql_query(" some query here") echo"<select name=ptId>"; while($ptId=mysql_fetch_array($ptId1)) { echo '<option value="'.$ptId['id'].'">'.$ptId['id'].'</option>'; } echo '</select>';?> }
в<?php $ptId1=mysql_query(" some query here") echo"<select name=ptId>"; while($ptId=mysql_fetch_array($ptId1)) { echo '<option value="'.$ptId['id'].'">'.$ptId['id'].'</option>'; } echo '</select>';?> }