Плагин "Доставка" - рассчет стоимости доставки
Стоит ли открыть форум? Напишите об этом по адресу admin@astracms.ru написав в теме "открыть форум". Я не автор движка и поэтому не могу консультировать так, как это делал бы он, но возможно у нас получится совместно находить решения.
Автор | Текст сообщения | ||||
---|---|---|---|---|---|
Stepan |
19.05.2011 16:49
Подскажите, пожалуйста, если к примеру у меня доставка товара стоит по разному для каждого товара, как мне это указать так, чтобы в корзине считалась, автоматически, стоимость доставки?
указать стоимость доставки в зависимости от суммы - не пойдет, потому как доставка рассчитывается исходя из тарифов, размера и веса товара и еще нескольких параметров, которые постоянно меняются. |
||||
admin |
19.05.2011 17:53
Если цену доставки указывать для каждого товара в доп. поле, то можно прямо в шаблоне корзины просто подсчитать сумму и показать.
|
||||
Stepan |
24.05.2011 15:14
Отредактировано: 24.05.2011 15:14
ага, спасибо получилось вот что:
{if $basket} <form method="post"> <table width="100%" border="1"> <tr> <td>Наименование товара</td> <td>Кол-во</td> <td>Цена</td> <td>Удалить</td> </tr> {section name=i loop=$basket} <tr> <td>{$basket[i].data.name}</td> <td><input type="text" name="count_{$basket[i].id}" value="{$basket[i].count}"></td> <td>{if $courier.id==1}{$basket[i].sum} {$valute} </td> <td><a href="{$basket[i].deletelink}">Удалить</a></td> </tr> {else} <b>Цена заказа:</b> {$basket[i].data.price}<br /> <b>Стоимость доставки:</b> {$basket[i].data.cour}<br /> <b>Итого:<b> {math equation="(x + y)*z" x=$basket[i].data.cour y=$basket[i].data.price z=$basket[i].count assign="summ"} {$summ} {$valute} </td> <td><a href="{$basket[i].deletelink}">Удалить</a></td> </tr> {/if} {/section} </table> {if $courier.id==1} <p>Товаров в корзине: {$all.count}, на общую сумму: {$all.sum} {$valute}.</p> <p align="right"> {submit caption="Пересчитать"} {hidden name="action" value="recalcbasket"} </p> {else} <p>Товаров в корзине: {$all.count}, на общую сумму: {$all.sum} {$valute}.</p> <p align="right"> {submit caption="Пересчитать"} {hidden name="action" value="recalcbasket"} </p> {/if} <p> {if $couriers} <p>Доставка:</p> <select name="courier" onchange="this.form.submit()"> {html_options options=$couriers selected=$courier.id} </select> {/if} </p> </form>единственное что пока не дошел - как потом сложить $all.sum и все стоимости доставки, у меня в переменную $summ записываются и потом к сумме заказа добавляется только последняя стоимость доставки... как-то в массив записывать? |
||||
admin |
24.05.2011 15:58
Ну так же и сложить, через math или assign.
{assign var="fullsum" value=$all.sum+$summ} {$fullsum} |
||||
Stepan |
26.05.2011 13:59
да, конечно пробовал )) но, если товаров несколько, то берется только последнее значение переменной $summ, а предыдущие не учитываются, те данные перезаписываются в эту переменную...
каким образом сделать чтобы значения записывались в массив? чтобы потом просто сложить все что записалось в $summ? |
||||
admin |
26.05.2011 14:47
Отредактировано: 26.05.2011 14:48
Нужно просто $summ не перезаписывать в цикле, а наращивать. В формулу где math надо добавить еще сложение с $summ. Это же арифметика.
|
||||
Stepan |
26.05.2011 16:22
|
||||
admin |
27.05.2011 16:37
Что тут непонятного? Добавить в формулу сложение с текущим значением summ.
|
||||
Вы не можете добавить сообщение. Вам необходимо авторизироваться на сайте под своим логином либо зарегистрироваться.