Автор Тема: Как изменить оформление заказа в один шаг  (Прочитано 5778 раз)

07 Июнь 2016, 00:15:22
Ответ #30
  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Окончательно я запуталась.
Добавила поле address1 в order-carrier.tpl .
Теперь, я так понимаю мне нужно его получить в OrderOpcController.php  в init() в ветке                         case 'updateTOSStatusAndGetPayments':
                            if (Tools::isSubmit('checked')) {

$address1 = Tools::getValue('address1');
$tmp_addr = new Address($this->context->cart->id_address_delivery);
if (trim($address1) != "")
$tmp_addr->address1 = $address1;
$tmp_addr->update();



                                $this->context->cookie->checkedTOS = (int)Tools::getValue('checked');
                                $this->ajaxDie(Tools::jsonEncode(array(
                                    'HOOK_TOP_PAYMENT' => Hook::exec('displayPaymentTop'),
                                    'HOOK_PAYMENT' => $this->_getPaymentMethods()
                                )));
                            }
                            break;
                            }
                            break;

и обновить значение в уже ранее сохранённом адрессе (выше написала изменённый код). Но не обновляет адрес!
Что я не так делаю?
07 Июнь 2016, 09:54:28
Ответ #31
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вам нужно использовать javascript функции, если хотите переопределить значения заполненных полей.

Фвйл /themes/default-bootstrap/js/order-carrier.js
В нем функции, которые выполнятются при выборе метода доставки.

Фвйл /themes/default-bootstrap/js/order-opc.js
В нем функции, которые выполнятются при действиях на странице заказа..