Simpla 2.1: списки оплаты и доставки
Дата: 21 Сен ' 12 Автор: mart Рубрики: Программирование
В ответ на пост на форуме симплы небольшая инструкция…
{* Доставка *} {if $deliveries} <h2>Выберите способ доставки:</h2> <ul id="deliveries"> <select name="amounts[{$purchase->variant->id}]" onchange=""> {foreach $deliveries as $delivery} <option value="{$delivery->id}" {if $delivery_id==$delivery->id}checked{elseif $delivery@first}checked{/if} id="deliveries_{$delivery->id}">{$delivery->name}</option> {/foreach} </select> {/if} {* Оплата *} {if $payment_methods} <h2>Выберите способ оплаты:</h2> <select name="payment_method_id"> {foreach $payment_methods as $payment_method} <option value="{$payment_method->id}"{if $payment_method_id == $payment_method->id} selected{/if}>{$payment_method->name}</option> {/foreach} </select> {/if} |
Только чтобы это работало на странице корзины надо:
1. вывести в шаблон список вариантов оплаты в view/CartView.php ~171 строка
$this->design->assign('payment_methods', $this->payment->get_payment_methods(array('enabled'=>1))); |
2. принять метод в корзине для сохранения в view/CartView.php ~47 строка
$order->payment_method_id = $this->request->post('payment_method_id', 'integer'); |
3. ну и вернем выбранный вариант в шаблон, если пользователь введет неверные данные в view/CartView.php ~55 строка
$this->design->assign('payment_method_id', $order->payment_method_id); |
5 комментариев
-
Кирилл
15|Ноя|2012 1mart, здравствуйте!
У вас очень полезный блог, но не хватает в нем банального поиска =( -
Влад
12|Янв|2013 2Не сохраняет выбор способа доставки, если открыть заказ в админке.
Что делать? Помогите пожалуйста -
Влад
12|Янв|2013 3Сделал все как написано, но к сожалению в заказе в админке пишет «Не выбрана»
Помогите пожалуйста -
womanblog
12|Дек|2016 4Март к каждому способу доставки свой способ оплаты, а твое решение так работать не будет, можно будет выбрать способ доставки и способ оплаты который не закреплен к этому способу доставки. Ферштейн?
-
16|Апр|2017
5
Да, возможно. Но для моей задачи такой проблемы не было. Мое решение не панацея, а скорее пояснение того, как можно научить Симплу немного большему, нежели стандартный функционал.