2013-11-07 2 views
0

Эй, ребята, я только один способ доставки называют JNE http://www.magentocommerce.com/magento-connect/suhanto-jne.html в моем магазине Magentoавтовыбор способ доставки в Magento

Я хочу способ доставки автоматически выбирается, когда мой клиент набивать город.

Я уже искать и нашел это: http://www.magentocommerce.com/boards/viewthread/9223/#t33602

его решение, как этот

// find methods loop: 
      <?php foreach ($_rates as $_rate): ?> 

// add checking for free shipping method and setting it as default 
       <?php if ($_rate->getCode()=='freeshipping_freeshipping' && !$this->getAddress()->getShippingMethod()) { 
       $this->getAddress()->setShippingMethod($_rate->getCode()); 
      } ?> 

Я не знаю, где я должен поместить код в available.html

кстати У меня есть этот код в моем available.html


<?php if (!($_shippingRateGroups = $this->getShippingRates())): ?> 
<strong><?php echo $this->__('Sorry, no quotes are available for this order at this time.') ?></strong> 
<dl class="shipment-methods"> 
<?php foreach ($_shippingRateGroups as $code => $_rates): ?> 
    <dt><?php echo $this->getCarrierName($code) ?></dt> 
    <dd> 
     <ul> 

<?php foreach ($_rates as $_rate): ?> 
      <li> 
       <?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" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>"<?php if($_rate->getCode()===$this->getAddressShippingMethod()) echo ' checked="checked"' ?> onclick="shippingMethodStep.save()"/> 
        <label for="s_method_<?php echo $_rate->getCode() ?>"><?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 ?> 
      </li> 
     <?php endforeach; ?> 

</ul> 
    </dd> 
<?php endforeach; ?> 


вы можете сказать мне, где я должен заменить или добавить, что решение.

или возможно другое решение автовыбор JNE способ доставки

+0

Если вы используете радиокнопки для выбора способа доставки, просто отредактируйте шаблон метода доставки и добавьте атрибут «выбранный» (это должен быть самый простой способ). – Martin

+0

да, но я не знаю, что редактировать. так неудобно, потому что не знаю, что делать –

ответ

0

Очень некрасиво метод в вашем случае редактировать

<?php if($_rate->getCode()===$this->getAddressShippingMethod()) echo ' checked="checked"' ?> 

в вашей input к

<?php if($_rate->getCode()===$this->getAddressShippingMethod() or true){ echo ' checked="checked"';} 

Это не очень умный причина , но он будет работать в вашем случае, потому что будет выбран каждый переключатель - в вашем случае это только один. Но было бы лучше проверить, является ли это только одним способом доставки. Может быть, это тоже работает (я не проверял это до сих пор):

<?php if($_rate->getCode()===$this->getAddressShippingMethod() or count($_shippingRateGroups) == 1){ echo ' checked="checked"';} 

Он подсчитывает количество элементов массива в массиве доставки. Если это только один элемент, он устанавливает selected -tag.

+0

эй stefan Спасибо за ваш ответ. Я пробую ваш код, и он проверен сейчас, но цена доставки не учитывается для выставления счетов автоматически. Мне нужно щелкнуть по нему, чтобы счет был подсчитан. Я думаю, что стоимость доставки рассчитывается из-за этого кода OnClick = «shippingMethodStep.save()» всякий раз, когда я удалить этот код после того, как я нажимаю на радио он не добавляет стоимость доставки для выставления счетов. любая идея сделать так называемый автоматически? –

+0

В magento 1.7 есть кнопка под переключателями, которые вызывают метод shippingMethodStep.save().? Я немного смущен. Вы можете добавить область javascript, которая автоматически перейдет на этап выставления счетов (так что клиент не видит ссылку на доставку), если был загружен шаг доставки.Другой вариант - разместить кнопку под переключателем способа доставки, чтобы клиент мог подтвердить способ доставки и перейти к следующему шагу. –

+0

Да, я пытаюсь дать javascript, так что onclick = "shippingMethodStep.save()" можно вызвать автоматически. Я спрашиваю мой друг, и он дал мне эту и я поставил его после , но этот бог проклятого код не работает хах .. любого предложения для JavaScript? благодаря –

Смежные вопросы