Magento 1.8中未相应显示运输方式

um6iljoc  于 2023-01-17  发布在  其他
关注(0)|答案(3)|浏览(130)

如何根据我在排序顺序输入字段中设置的订单号显示我的发货方式列表?
我已经在后台设置了每种运输方式的排序顺序,但它们没有相应地显示。
例如,在我的后台,我有这些运输方法,

Method Name: bestway
Sort Order: 1

Method Name: Free
Sort Order: 2

Method Name: Chronopost
Sort Order: 3

但它们在frontend\argenties\default\template\checkout/cart/shipping.phtml中不按此顺序显示

<?php
    $methods = Mage::getSingleton('shipping/config')->getActiveCarriers();
    $shipping = array();
    foreach($methods as $_ccode => $_carrier):
        if($_methods = $_carrier->getAllowedMethods()):
            if(!$_title = Mage::getStoreConfig("carriers/$_ccode/title"))
                $_title = $_ccode;

            foreach($_methods as $_mcode => $_method):
                $_code = $_ccode . '_' . $_mcode;
                $shipping[$_code] = array('title' => $_method,'carrier' => $_title);
            ?>

            <li><input type="radio" name="estimate_method" value="<?php echo $_code;?>" id="s_method_<?php echo $_code ?>"<?php if($_code === $this->getAddressShippingMethod()) echo ' checked="checked"' ?>> <span class="item-text-shipping-method"><?php echo $_title;?></span></li>

            <?php endforeach;?>

        <?php endif;?>
    <?php endforeach;?>

结果,

Method Name: Free
Method Name: bestway
Method Name: Chronopost

Method Name: bestway应该在列表的顶部,但它总是降到第二位,为什么?有什么想法我可以修复它吗?

rjjhvcjd

rjjhvcjd1#

请注意以下事实:
1.自定义发运方式(也称为离线发运)将始终显示在实时发运方式之前。
1.每个承运人的配送方式将按价格顺序显示(从低到高)。

hjzp0vay

hjzp0vay2#

<?php
foreach ($_shippingRateGroups as $code => $_rates):?>
        <?php foreach ($_rates as $_rate): ?>
            <li>
                    <input name="estimate_method" type="radio" value="<?php echo $this->escapeHtml($_rate->getCode()) ?>" id="s_method_<?php echo $_rate->getCode() ?>"<?php if($_rate->getCode()===$this->getAddressShippingMethod()) echo ' checked="checked"' ?> class="radio" />
                    <span class="item-text-shipping-method">
                        <?php echo $this->getCarrierName($code);?>
                    </span>
            </li>
        <?php endforeach; ?>

试试这个代码,我提醒这个代码形式基地/默认/结帐/购物车/航运.phtml文件

bweufnob

bweufnob3#

运输方式是根据价格排序的,当它们都是相同的价格时,它不会查看其他字段来确定哪一个应该先来。
我有一个类似的问题,我有我的交付方法在一套价格,所以我添加了额外的排序标准到Mage/Shipping/Model/Rate/Results.php文件,特别是sortRatesByPrice()函数。
如果要更改核心转储文件,请确保将其复制到本地池。

相关问题