И так , как вы уже поняли из названия сегодня мы поговорим как можно добавить для модуля оплаты "Банковский перевод" который идет в стандартной сборке opencart возможность добавлять свой текст с поддержкой форматирования HTML.
В данной инструкции мы привяжем редактор ckeditor к форме инструкции по переводу, добавим отображение html в истории заказа покупателя, в истории заказа для администратора, а так же будем отправлять html код на почту клиента при заказе.
Для того чтобы выполнить нашу задачу нам потребуется изменить всего 5 файлов а именно:
1 2 3 4 5 |
catalog/controller/payment/bank_transfer.php catalog/controller/account/order.php admin/controller/sale/order.php catalog/model/checkout/order.php admin/view/template/payment/bank_transfer.tpl |
Ну что же давайте приступим, и сделаем возможность добавления HTML кода для модуля оплаты Банковский перевод.
1. Открываем файл: catalog/controller/payment/bank_transfer.php
Ищем строку:
1 |
$this->data['bank'] = nl2br($this->config->get('bank_transfer_bank_' . $this->config->get('config_language_id'))); |
И заменяем ее на следующий код:
1 |
$this->data['bank'] = html_entity_decode($this->config->get('bank_transfer_bank_' . $this->config->get('config_language_id'))); |
2. Открываем файл: catalog/controller/account/order.php
Ищем строку с кодом:
1 |
'comment' => nl2br($result['comment']) |
И заменяем ее на:
1 |
'comment' => html_entity_decode($result['comment']) |
Далее находим строку:
1 |
$this->data['comment'] = nl2br($order_info['comment']); |
И меняем ее на:
1 |
$this->data['comment'] = html_entity_decode($order_info['comment']); |
3. Открываем файл: admin/controller/sale/order.php
Находим строку:
1 |
$this->data['comment'] = nl2br($order_info['comment']); |
И заменяем на:
1 |
$this->data['comment'] = html_entity_decode($order_info['comment']); |
Далее ищем код:
1 |
'comment' => nl2br($result['comment']), |
И меняем его на следующий код:
1 |
'comment' => html_entity_decode($result['comment']), |
Далее опять ищем строку с кодом:
1 |
'comment' => nl2br($order_info['comment']) |
И заменяем ее на:
1 |
'comment' => html_entity_decode($order_info['comment']) |
4. Открываем файл: catalog/model/checkout/order.php
Находим строку:
1 |
$template->data['comment'] = nl2br($comment); |
И меняем ее на:
1 |
$template->data['comment'] = html_entity_decode($comment); |
Ну вот и все теперь вы можете добавлять инструкции в модуль с поддержкой html.
Но для вашей удобности мы добавим еще для модуля и сам редактор HTML , что бы быстро и просто редактировать текст.
5. Открываем файл: admin/view/template/payment/bank_transfer.tpl
В данном файле мы и подключим наш редактор ckeditor.
И так, идем в самый конец файла и перед:
1 |
<?php echo $footer; ?> |
Добавляем несколько строчек кода:
1 2 3 4 5 6 7 8 9 10 11 |
<script type="text/javascript" src="view/javascript/ckeditor/ckeditor.js"></script> <script type="text/javascript"><!-- CKEDITOR.replace('description1', { filebrowserBrowseUrl: 'index.php?route=common/filemanager&token=d8bc4bf53d75d2b575437a54190efb9a', filebrowserImageBrowseUrl: 'index.php?route=common/filemanager&token=d8bc4bf53d75d2b575437a54190efb9a', filebrowserFlashBrowseUrl: 'index.php?route=common/filemanager&token=d8bc4bf53d75d2b575437a54190efb9a', filebrowserUploadUrl: 'index.php?route=common/filemanager&token=d8bc4bf53d75d2b575437a54190efb9a', filebrowserImageUploadUrl: 'index.php?route=common/filemanager&token=d8bc4bf53d75d2b575437a54190efb9a', filebrowserFlashUploadUrl: 'index.php?route=common/filemanager&token=d8bc4bf53d75d2b575437a54190efb9a' }); //--></script> |
Далее в файле ищем строчку с формой ввода инструкции:
1 |
<td><textarea name="bank_transfer_bank_<?php echo $language['language_id']; ?>" cols="80" rows="10"><?php echo isset(${'bank_transfer_bank_' . $language['language_id']}) ? ${'bank_transfer_bank_' . $language['language_id']} : ''; ?></textarea> |
и заменяем ее на:
1 |
<td><textarea name="bank_transfer_bank_<?php echo $language['language_id']; ?>" cols="80" rows="10" id="description1"><?php echo isset(${'bank_transfer_bank_' . $language['language_id']}) ? ${'bank_transfer_bank_' . $language['language_id']} : ''; ?></textarea> |
То есть в данной строке мы добавили id="description1" для вызова редактора ckeditor.
Ну вот в принципе и все что вам нужно было сделать чтобы модуль оплаты "Банковский перевод" начал работать с поддержкой HTML кода...
Все вышеуказанные действия проводились на opencart версии 1.5.5.6 но данная инструкция будет работать на всех версиях данной ветки...
Для второй версии Opencart все в принципе тоже самое за исключением нескольких моментов которые зависят от конкретной версии Opencart, сам путь размещения файла немного иной код и.т.д...
6 комментариев
Спасибо! А что делать если несколько языков на сайте? Только один язык с html редактором получается (
Над этим еще не думал, не нужно было.
Если у вас несколько языков на сайте тогда скорей всего придется играть с языковыми переменными, в общем здесь все сложнее.
Извините, удалите, пожалуйста, предыдущий комментарий, код обрезался.
Получилось реализовать заменив description1 на description в admin/view/template/payment/bank_transfer.tpl
и
на
Вдруг кому-то понадобится. Спасибо за туториал!!! Для opencart 2 отлично подошел, только
$this->data в 2 $data
Подправил.
На почту все равно приходят набор тегов html… поможете поправить?
Да, поможем конечно, но за отдельную плату как говорится…
Пришлите запрос на почту office@web-ukraine.com
В письме укажите адрес сайта суть проблемы. и доступы к админке и фтп.
В ответ мы отправим Вам реквизиты и стоимость работ.