【发布时间】:2016-02-11 05:24:47
【问题描述】:
我已经在一个网站上工作了几个月,现在又回到了一个从未实现过的功能。
我们从一开始就计划只允许人们使用我们的等级价格断点作为可用的增量数量结账。本站所有产品均为定制,不留存货。
我们希望断点反映层级,而不是完美的增量(100、250、500、1000、2000、3000、5000、10000),因此设置每个产品数量限制的唯一方法是选择集合层。
我找到的最接近的参考和代码如下,它创建了从分层自动生成的单选按钮选项,但是将其转换为下拉菜单比我想象的要困难。
如果有人可以帮助使用以下代码,我无法将所有这些选项添加到下拉列表中,并根据设置的数量和选项动态更改价格。
<div class="retail-price-contain tier-price-tab">
<?php
$_tierPrices=$this->getTierPrices();
$_firstTier = array_slice($_tierPrices, 0, 3);
$c = count($_firstTier);
if($c>0): ?>
<ul class="tier-prices product-pricing">
<?php for ($i = 0; $i < $c; $i++) {
$_firstTierPrice = Mage::helper('core')->currency($_firstTier[$i]['price']); ?>
<li>
<input type="radio" name="tierprice" id="tier-price<?php echo $_firstTier[$i]['price_qty'] ?>" value="<?php echo $_firstTier[$i]['price_qty'] ?>" >
<?php echo $this->__('Buy %1$s for %2$s', $_firstTier[$i]['price_qty'],'<span class="price">'. $_firstTierPrice.'</span>').$this->__(' each Save extra '.$_firstTier[$i]['savePercent'].'%'); ?>
</li>
<?php } ?>
</ul>
<?php endif; ?> </div>
<?php
$_tierPricesqty=$this->getTierPrices();
$_firstTierqty = array_slice($_tierPricesqty, 0, 3);
$d = count($_firstTierqty);
if($d>0): ?>
<?php
for ($i = 0; $i < $d; $i++) {
$_firstTierPrice = Mage::helper('core')->currency($_firstTierqty[$i]['price']); ?>
<script type="text/javascript"> jQuery(function($){
$("#tier-price<?php echo $_firstTierqty[$i]['price_qty'] ?>").change(function() {
$('#qty').val(this.value);
//alert(<?php echo $_firstTierqty[$i]['price_qty'] ?>);
}); }); </script>
我用上面的代码代替了 mytheme/templates/catalog/product/view.phtml 中的以下几行
<div class="qty-wrapper">
<label for="qty"><?php echo $this->__('Enter Quantity:') ?></label>
<input type="text" name="qty" id="qty" maxlength="18" value="<?php echo $this->getProductDefaultQty() * 1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" /><span class="forinline">for</span>
</div>
并且单选按钮层定价正在起作用,但我无法在不破坏上述代码功能的情况下对其进行修改以获得下拉菜单。
有人可以帮我把它修改成下拉列表吗,我一直在尝试,但要么留下一个不起作用的下拉列表,要么从列表中缺少一些选项(上面的代码缺少 100 个)。
谢谢,亚历山大伯爵
【问题讨论】: