Перейти к содержанию
Официальный форум поддержки Simpla

Итоговая цена с учетом доставки на странице корзины (select)


Рекомендуемые сообщения

Добрый вечер!

 

Как изменить нижеприведенный код, чтобы он работал и для выбора способа доставки посредством select? Спасибо!

 

Это решение, которое предложил Romalibert для обновления итоговой суммы в корзине после выбора способа доставки

http://forum.simplacms.ru/topic/4361-itogovaya-cena-s-uchetom-dostavki-na-stranice-korzini/page-3:

 

 

Найти в cart.tpl строчку

<span id="subtotal_price">{$cart->total_price}</span> {$currency->sign}

И заменить её на:

<span id="sub_price" style="display: none;">{$cart->total_price}</span>
<span id="subtotal_price"></span> {$currency->sign}

в тэг

<input type="radio" name="delivery_id" ...>

вставить 

onclick="select_delivery_method({$delivery->id});"

должно выйти примерно так:

<input type="radio" name="delivery_id" onclick="select_delivery_method({$delivery->id});" value="{$delivery->id}" {if $delivery_id==$delivery->id}checked{elseif $delivery@first}checked{/if} id="deliveries_{$delivery->id}">

заменить

({$delivery->price|convert} {$currency->sign})

на 

(<span id="delivery_price_{$delivery->id}">{$delivery->price}</span> {$currency->sign})

после выбора способа доставки вставить с cart.tpl следующий скрипт

<script>
function select_delivery_method(method_id)
{
radiobuttons = document.getElementsByName('delivery_id');
for(var i=0;i<radiobuttons.length;i++)
{
if(radiobuttons[i].value == method_id)
{
radiobuttons[i].checked = 1;
}
}
var subtotal = parseFloat(document.getElementById('sub_price').innerHTML);
var delivery = 0;
if(document.getElementById('delivery_price_'+method_id))
delivery = parseFloat(document.getElementById('delivery_price_'+method_id).innerHTML);
total = subtotal+delivery;

document.getElementById('subtotal_price').innerHTML = total; 
}
</script>
<script>
select_delivery_method(1);
</script>
 
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...