Инструменты пользователя

Инструменты сайта


wiki:tpl_file_cart_deliveries

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

wiki:tpl_file_cart_deliveries [2016/02/14 18:55] (текущий)
Строка 1: Строка 1:
 +====== Файл cart_deliveries.tpl ======
  
 +Файл **cart_deliveries.tpl** содержит шаблон вывода способов доставки и способов оплаты для каждого способа доставки.
 +
 +==== Пример вывода способов доставки ====
 +
 +<​HTML>​
 +{foreach $deliveries as $delivery}
 +    <div class="​m-l-2">​
 +        <label class="​font-weight-bold{if $delivery@first} active{/​if}">​
 +            <input onclick="​change_payment_method({$delivery->​id})"​ type="​radio"​ name="​delivery_id"​ value="​{$delivery->​id}"​{if $delivery_id==$delivery->​id || $delivery@first} checked{/​if} id="​deliveries_{$delivery->​id}"/>​
 +            {$delivery->​name}
 +            {if $cart->​total_price < $delivery->​free_from && $delivery->​price>​0}
 +                ({$delivery->​price|convert}&​nbsp;​{$currency->​sign})
 +            {elseif $cart->​total_price >= $delivery->​free_from}
 +                <span data-language="​{$translate_id['​cart_free'​]}">​({$lang->​cart_free})</​span>​
 +            {/if}
 +        </​label>​
 +        <div class="​m-l-2 delivery-description">​
 +            {$delivery->​description}
 +        </​div>​
 +    </​div>​
 +{/foreach}
 +</​HTML>​
 +
 +Для вывода способов доставки перебираем массив [[wiki:​variable_deliveries|{$deliveries}]].
 +
 +==== Пример вывода способов оплаты ====
 +
 +<​HTML>​
 +{foreach $deliveries as $delivery}
 +    {if $delivery->​payment_methods}
 +        <div class="​fn-delivery_payment border-a-1-info p-a-1" id="​fn-delivery_payment_{$delivery->​id}"​{if $delivery@iteration != 1} style="​display:​none"​{/​if}>​
 +            <div class="​h5 i-payment m-b-1"><​span data-language="​{$translate_id['​cart_payment'​]}">​{$lang->​cart_payment}</​span></​div>​
 +            {foreach $delivery->​payment_methods as $payment_method}
 +                <div class="​m-l-2">​
 +                    <label class="​font-weight-bold{if $payment_method@first} active{/​if}">​
 +                        <input type="​radio"​ name="​payment_method_id"​ value="​{$payment_method->​id}"​{if $delivery@first && $payment_method@first} checked{/​if} id="​payment_{$delivery->​id}_{$payment_method->​id}"/>​
 +                        {$total_price_with_delivery = $cart->​total_price}
 +                        {if !$delivery->​separate_payment && $cart->​total_price < $delivery->​free_from}
 +                            {$total_price_with_delivery = $cart->​total_price + $delivery->​price}
 +                        {/if}
 +                        {$payment_method->​name},​ к оплате {$total_price_with_delivery|convert:​$payment_method->​currency_id}&​nbsp;​{$all_currencies[$payment_method->​currency_id]->​sign}
 +                    </​label>​
 +                    <div class="​m-l-2 payment-description">​
 +                        {$payment_method->​description}
 +                    </​div>​
 +                </​div>​
 +            {/foreach}
 +        </​div>​
 +    {/if}
 +{/foreach}
 +</​HTML>​
 +
 +Для вывода способов оплаты перебираем массив способов доставки [[wiki:​variable_deliveries|{$deliveries}]],​ а затем массив способов оплаты [[wiki:​variable_payment_method|{$delivery->​payment_methods}]]. Задаем атрибут ''​checked''​ только первому способу оплаты первого способа доставки. Скрываем все блоки способов оплаты,​ кроме способов оплаты для первого способа доставки.
 +
 +При переключении способа доставки вызывается функция [[wiki:​by_js_file_okay#​изменение_способа_доставки|change_payment_method()]] для вывода "​нужного"​ блока способов оплаты.
 +
 +Содержимое обязательно должно быть в отдельном файле и подключено внутри блока с id ''​fn-ajax_deliveries''​ так как после [[wiki:​by_js_file_okay#​аяксовое_изменение_кол-ва_товаров_в_корзине|обновления количества]] ajax-ом должны обновиться блоки способов доставки и способов оплаты
wiki/tpl_file_cart_deliveries.txt · Последние изменения: 2016/02/14 18:55 (внешнее изменение)