Что то я не могу понять как мне сохранить введённый комментарий в заказе. Я убрал поле для комментария из методов доставки и оплаты, и перенёс его на последний шаг Подтверждение заказа. В контроллере confirm.php вот это... PHP: $order_data['comment'] = $this->session->data['comment']; В шаблоне... HTML: <textarea name="comment" rows="2" class="form-control"> </textarea> Как передать данные из textarea напрямую в $order_data['comment']?
в зависимости от метода оплаты и записывается комментарий. Обычно берется из сессии, которая записывается в предыдущих шагах
То что в контроллере confirm.php данные берутся из сессии я понял! Только вот не нашёл связи с методами оплаты. Комментарий ведь появляется раньше чем выбор метода оплаты - в шаге выбора способа доставки. В выборе метода оплаты выводится комментарий написанный в выборе доставки - из сессии. Я так понял что данные передаются с помощью ajax. В шаблоне chekout.tpl... PHP: $(document).delegate('#button-shipping-method', 'click', function() { $.ajax({ url: 'index.php?route=checkout/shipping_method/save', type: 'post', data: $('#collapse-shipping-method input[type=\'radio\']:checked, #collapse-shipping-method textarea'), dataType: 'json', ..................... В контроллере shipping_method.php... PHP: public function save() { ........................ if (!$json) { $this->session->data['shipping_method'] = $this->session->data['shipping_methods'][$shipping[0]]['quote'][$shipping[1]]; $this->session->data['comment'] = strip_tags($this->request->post['comment']); }} А в.... PHP: public function index() { .................. if (isset($this->session->data['comment'])) { $data['comment'] = $this->session->data['comment']; } else { $data['comment'] = ''; }} В payment_method.php картина такая же. Только теперь мне не надо сохранять это в сессии. Нужно отправить коммент в нужную переменную по нажатию кнопки подтверждения заказа. Надо передать данные в контроллер с помощью ajax?
Пробовал разные. В контроллере способа оплаты комментарий содержится в переменной $comment и складывается он из переменных перевода. PHP: $comment = $this->language->get('text_instruction') . "\n\n";$comment .= $this->config->get('bank_transfer_bank' . $this->config->get('config_language_id')) . "\n\n";$comment .= $this->language->get('text_payment'); Комментарий к заказу, которых вбивается покупателе в ручную в итоге оказывается в контроллере checkout/confirm.php в переменной PHP: $order_data['comment'] = $this->session->data['comment']; А мне надо чтобы работало что то типа этого PHP: $order_data['comment'] = strip_tags($this->request->post['comment']);