Плагин "Доставка" - рассчет стоимости доставки
Стоит ли открыть форум? Напишите об этом по адресу 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.
|
||||
Вы не можете добавить сообщение. Вам необходимо авторизироваться на сайте под своим логином либо зарегистрироваться.
