我已经在网站上工作了几个月,现在又回到了一个从未实现过的功能。
我们从一开始就计划只允许人们以我们的Tier-Price断点结算作为可用的增量数量。本网站上的所有产品都是定制的,不保留库存。
我们希望断点反映层而不是完美的增量(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件)。
谢谢,Alexander Countey
答案 0 :(得分:0)
我没有Magento运行atm。但我认为这样的事情应该有效: https://jsfiddle.net/f7m5mp40/
<div class="retail-price-contain tier-price-tab">
<?php
$_tierPrices=$this->getTierPrices();
$_firstTier = array_slice($_tierPrices, 0, 3);
$c = count($_firstTier);
if($c>0): ?>
<select name="tierprice">
<?php for ($i = 0; $i < $c; $i++) {
$_firstTierPrice = Mage::helper('core')->currency($_firstTier[$i]['price']); ?>
<option 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'].'%'); ?>
</option>
<?php } ?>
</select>
<?php endif; ?>
</div>
<script type="text/javascript">
jQuery(function($){
$("select[name='tierprice']").change(function() {
$('#qty').val(this.value);
});
});
</script>