Как Вообще Убрать Стоимость Доставки Из Оформления Заказа?

Как убрать стоимость доставки из оформления заказа?

Как убрать стоимость доставки из оформления заказа?

Сделайте одну бесплатную доставку и выключите настройку Настройки -> Оформление заказа -> Показывать шаг "Способ доставки"

Буквально на днях задавался этим вопросом, так как при нашем товаре никогда заранее не знаешь габаритов отправления, пока не соберешь и не упакуешь заказ, но при этом необходимо было дать выбор способов доставки. Стоимость же высчитывается вручную и на сайте в способах доставки стоит 0. В итоге в оформлении заказа ставилось Бесплатная доставка, что конечно же сильно вводит в заблуждение.
Поэтому отключил расчет на странице корзины
и закомментировал вывод стоимости на странице оформления заказа (одностраничное)
design/thems/тема/templates/views/checkout/components/shipping_rates.tpl
обратите внимание на комментарии html и smarty

                                {$shipping.shipping} {$delivery_time}  {$rate nofilter}
                    {elseif $display == "select"}
                        <option value="{$shipping.shipping_id}" {$selected}>{$shipping.shipping} {$delivery_time} <!-- - --> {*$rate nofilter*}</option>

                    {elseif $display == "show"}
                        <p>
                            {$strong_begin}{$rate.name} {$delivery_time} <!-- - --> {*$rate nofilter*}{$strong_begin}
                        </p>
                    {/if}
                {/hook}

            {/foreach}

            {if $display == "select"}
                    </select>
                <p>
            {/if}

            {if $smarty.foreach.spg.last && !$group.all_edp_free_shipping && !($group.all_free_shipping || $group.free_shipping)}
                <!--p class="shipping-options-total">{__("total")}:&nbsp;{include file="common/price.tpl" value=$cart.display_shipping_cost class="price"}</p-->
            {/if}


cs-cart 4.3.5

Примерно так же сделали.

Добрый день. Не могли бы вы пояснить обычному пользователю, как отключить расчет на странице корзины, а то не совсем понимаю, куда вставлять приведенный вами скрипт. Спасибо.

День добрый! Я не отключал расчет стоимости доставки, поскольку у меня нет данных для расчета (габариты отправления), то рассчитывается всегда 0 (бесплатная доставка). Приведенным выше кодом я просто спрятал вывод рассчитанной суммы за доставку

А вы не могли бы подсказать, куда подставить данный код?

вот в этом файле закомментировать как показано

Вот с таким содержимым этот файл сейчас у меня
{* К шаблону по умолчанию ===============================================================================
|  Закомментированы строки 97 (93 в оригинале файла)
|  и 110-112 (106-108 в оригинале файла)
|  для удаления надписи "Бесплатная доставка и нулевой суммы в подсчете ============================== *}

{if $show_header == true}
    {include file="common/subheader.tpl" title=__("select_shipping_method")}
{/if}


{if !$no_form}
    <form {if $use_ajax}class="cm-ajax"{/if} action="{""|fn_url}" method="post" name="shippings_form">
        <input type="hidden" name="redirect_mode" value="checkout" />
        {if $use_ajax}
            <input type="hidden" name="result_ids" value="checkout_totals,checkout_steps" />
        {/if}
{/if}

{hook name="checkout:shipping_rates"}

    <div id="shipping_rates_list">

        {foreach from=$product_groups key="group_key" item=group name="spg"}
            {* Group name *}
            {if !"ULTIMATE"|fn_allowed_for || $product_groups|count > 1}
                <span class="ty-shipping-options__vendor-name">{$group.name}</span>
            {/if}

            {* Products list *}
            {if !"ULTIMATE"|fn_allowed_for || $product_groups|count > 1}
                <ul class="ty-shipping-options__products">
                    {foreach from=$group.products item="product"}
                        {if !(($product.is_edp == 'Y' && $product.edp_shipping != 'Y') || $product.free_shipping == 'Y')}
                            <li class="ty-shipping-options__products-item">
                                {if $product.product}
                                    {$product.product nofilter}
                                {else}
                                    {$product.product_id|fn_get_product_name}
                                {/if}
                            </li>
                        {/if}
                    {/foreach}
                </ul>
            {/if}

            {* Shippings list *}
            {if $group.shippings && !$group.all_edp_free_shipping && !$group.shipping_no_required}

                {foreach from=$group.shippings item="shipping"}

                    {if $cart.chosen_shipping.$group_key == $shipping.shipping_id}
                        {assign var="checked" value="checked=\"checked\""}
                        {assign var="strong_begin" value="<strong>"}
                        {assign var="strong_end" value="</strong>"}
                    {else}
                        {assign var="checked" value=""}
                        {assign var="strong_begin" value=""}
                        {assign var="strong_end" value=""}
                    {/if}

                    {if $shipping.delivery_time || $shipping.service_delivery_time}
                        {assign var="delivery_time" value="(`$shipping.service_delivery_time|default:$shipping.delivery_time`)"}
                    {else}
                        {assign var="delivery_time" value=""}
                    {/if}

                    {if $shipping.rate}
                        {capture assign="rate"}{include file="common/price.tpl" value=$shipping.rate}{/capture}
                        {if $shipping.inc_tax}
                            {assign var="rate" value="`$rate` ("}
                            {if $shipping.taxed_price && $shipping.taxed_price != $shipping.rate}
                                {capture assign="tax"}{include file="common/price.tpl" value=$shipping.taxed_price class="ty-nowrap"}{/capture}
                                {assign var="rate" value="`$rate``$tax` "}
                            {/if}
                            {assign var="inc_tax_lang" value=__('inc_tax')}
                            {assign var="rate" value="`$rate``$inc_tax_lang`)"}
                        {/if}
                    {elseif fn_is_lang_var_exists("free_shipping")}
                        {assign var="rate" value=__("free_shipping") }
                    {else}
                        {assign var="rate" value="" }
                    {/if}

                    {hook name="checkout:shipping_method"}
                        <div class="ty-shipping-options__method">
                            <input type="radio" class="ty-valign ty-shipping-options__checkbox" id="sh_{$group_key}_{$shipping.shipping_id}" name="shipping_ids[{$group_key}]" value="{$shipping.shipping_id}" onclick="fn_calculate_total_shipping_cost();" {$checked} />
                            <div class="ty-shipping-options__group">
                                <label for="sh_{$group_key}_{$shipping.shipping_id}" class="ty-valign ty-shipping-options__title">
                                    <bdi>
                                        {if $shipping.image}
                                            <div class="ty-shipping-options__image">
                                                {include file="common/image.tpl" obj_id=$shipping_id images=$shipping.image class="ty-shipping-options__image"}
                                            </div>
                                        {/if}

                                        {$shipping.shipping} {$delivery_time}
                                        {*if $rate} {$rate nofilter}{/if*}
                                   </bdi>
                                </label>
                            </div>
                        </div>
                        {if $shipping.description}
                            <div class="ty-checkout__shipping-tips">
                                <p>{$shipping.description nofilter}</p>
                            </div>
                        {/if}
                    {/hook}
                {/foreach}

                {*if $smarty.foreach.spg.last && !$group.all_edp_free_shipping && !$group.shipping_no_required}
                    <p class="ty-shipping-options__total">{__("total")}:&nbsp;{include file="common/price.tpl" value=$cart.display_shipping_cost class="ty-price"}</p>
                {/if*}

            {else}
                {if $group.all_free_shipping}
                     <p>{__("free_shipping")}</p>
                {elseif $group.all_edp_free_shipping || $group.shipping_no_required }
                    <p>{__("no_shipping_required")}</p>
                {else}
                    <p class="ty-error-text">
                        {__("text_no_shipping_methods")}
                    </p>
                {/if}
            {/if}

        {foreachelse}
            <p>
                {if !$cart.shipping_required}
                    {__("no_shipping_required")}
                {elseif $cart.free_shipping}
                    {__("free_shipping")}
                {/if}
            </p>
        {/foreach}

    <!--shipping_rates_list--></div>

{/hook}

{if !$no_form}
        <div class="cm-noscript buttons-container ty-center">{include file="buttons/button.tpl" but_name="dispatch[checkout.update_shipping]" but_text=__("select")}</div>
    </form>
{/if}

Как вариант, в секцию CSS редактора тем добавьте

.ty-statistic-list-shipping-method {
    display: none !important;
}

Тогда не будет проблем с обновлениями :slight_smile:

1 лайк

Добрый день. Ваш способ работает, спасибо.
Подскажите, пожалуйста а если мне нужно на странице корзины не просто скрывать сумму доставки а не прибавлять ее к итоговой цене именно только в корзине, чтобы там отображалась только сумма за товар. А уже в оформлении зкакза было все как положено.
Можно ли это как то реализовать в CSS?

Нет, это уже калькуляцию корзины редактировать надо

Чтобы доставка вообще не прибавлялась

app/functions/fn.cart.php

заменить (~строка 4093)
$cart['total'] = fn_format_price($cart['total'] + $cart['shipping_cost']);
на
$cart['total'] = fn_format_price($cart['total']);

1 лайк

Благодарю. Подскажите, пожалуйста, это затронет только корзину, в оформлении заказа будет все как прежде? И после обновления нужно будет это заново менять, правильно?

Это вообще для всего, и для корзины и для оформления. Но может кто-то подскажет, как задать условие, чтобы только в корзине работало.
После обновления может слететь, но этот файл вроде нечасто трогают.

Как сделать чтобы при изменении (вводе) поле город, запрос на расчет доставки менялься автоматически без нажатия на блок - перерасчет стоимости доставки.
Сумма доставки у меня на всю страну одна

подскажите, что нужно сделать, кто знает?

убрать стоимость доставки со станицы оформления заказа
design\themes\responsive\templates\blocks\checkout\summary.tpl
закомментировать

{*  
       <tr>  
                <td class="ty-checkout-summary__item">{__("shipping")}</td>
                <td class="ty-checkout-summary__item ty-right" data-ct-checkout-summary="shipping">
                    <span>{include file="common/price.tpl" value=$cart.display_shipping_cost}</span>
                </td>
            </tr> 
*}

не прибавлять доставку к стоимости заказа
app/functions/fn.cart.php
заменить (строка ~4093)
$cart['total'] = fn_format_price($cart['total'] + $cart['shipping_cost']);
на
$cart['total'] = fn_format_price($cart['total']);

Правки могут слететь после обновления