在付款方式中选择选项而不是 magento 中的单选按钮
Posted
技术标签:
【中文标题】在付款方式中选择选项而不是 magento 中的单选按钮【英文标题】:select option in payment method instead of radion button in magento 【发布时间】:2012-08-25 06:53:45 【问题描述】:这是我在 magento 的 onepagecheckout 中的 methods.phtml 文件,我想要下拉(选择选项)按钮而不是单选按钮……这样我就可以选择支付方式来支付款项。
<?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; ?>
【问题讨论】:
我无法查看您的消息............ 你有解决这个问题的办法吗?我的magento需要同样的东西。所以如果你得到这个问题的解决方案,请帮助我 【参考方案1】:您可以在 methods.phtml 文件中的代码下方设置付款方式的选择选项下拉菜单。
您还必须更改 opcheckout.js 第 715 行 以将 "elements[i].checked"
更改为 "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>
【讨论】:
【参考方案2】:如果有帮助,我会使用这个来获取我的选择列表
<?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>';?>
【讨论】:
这不是问题的答案 配方其他人可提供,食材自选 是的,我知道,但你的食谱有误,所以我无法选择正确的配料。以上是关于在付款方式中选择选项而不是 magento 中的单选按钮的主要内容,如果未能解决你的问题,请参考以下文章
Magento 1.8.0.0:添加自定义付款方式重定向到新页面
货到付款付款方式应仅对 magento 中的某些邮政编码/密码可见