0

我在 Magento 中使用 onestepcheckout。我已经添加了一些额外的统一费率,我正在使用其中的两个。我希望能够根据购物车的小计仅显示其中一个统一费率。

我已将小计放入一个变量中,但代码通过每种可用的运输方式都有一个 foreach,所以我需要一种方式来说明是否$total超过 500 只显示第二种运输方式,如果总数低于 500 只显示第一种运输方式。

<?php $total = Mage::getSingleton('checkout/session')->getQuote()->getSubtotal(); ?>
                <?php foreach ($_shippingRateGroups as $code => $_rates): ?>
                            <dd><?php echo $this->getCarrierName($code) ?></dd>
                        <?php foreach ($_rates as $_rate): ?>
                            <dt style="margin-bottom: 5px;">

                               <?php if ($_rate->getErrorMessage()): ?>
                                <ul class="messages"><li class="error-msg"><ul><li><?php echo $_rate->getErrorMessage() ?></li></ul></li></ul>
                               <?php else: ?>
                                    <input name="shipping_method" type="radio" class="validate-one-required-by-name" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>"<?php if($_rate->getCode()===$this->getAddressShippingMethod()) echo ' checked="checked"' ?> />
                                    <label for="s_method_<?php echo $_rate->getCode() ?>"><!--<b><?php echo $this->getCarrierName($code) ?>:</b>--> <?php echo $_rate->getMethodTitle() ?>
                                    <strong>
                                    <?php $_excl = $this->getShippingPrice($_rate->getPrice(), $this->helper('tax')->displayShippingPriceIncludingTax()); ?>
                                    <?php $_incl = $this->getShippingPrice($_rate->getPrice(), true); ?>

                                    <?php echo $_excl; ?>
                                    <?php if ($this->helper('tax')->displayShippingBothPrices() && $_incl != $_excl): ?>
                                        (<?php echo $this->__('Incl. Tax'); ?> <?php echo $_incl; ?>)
                                    <?php endif; ?>
                                    </strong>
                                    </label>
                               <?php endif ?>
                            </dt>
                        <?php endforeach; ?>
                <?php endforeach; ?>
4

1 回答 1

0

做就是了 ...

//first method here by default
if($total>500){
 //second method here
}

有些东西告诉我你已经知道如何做到这一点

我无法破译,您的代码中的第一种和第二种方法是什么,否则我会发布更完整的代码

于 2013-06-27T18:13:30.247 回答