Как вывести номер заказа на страницу благодарности в Opencart 2.x

CMS: Opencart 2.x

Тестировалось на стандартном шаблоне «default»

Вывод номера заказа — это хороший метод увеличения уровня доверия покупателя к интернет-магазину. Пользователь видит большую цифру на странице благодарности и понимает, что магазин крупный.

Для того, чтоб вывести номер оформленного заказа на странице благодарности (страница «спасибо за заказ») нужно:

Открываем файл:

/catalog/controller/checkout/success.php

Находим строку:

public function index()

После добавляем код:

if ( isset($this->session->data['order_id']) && ( ! empty($this->session->data['order_id'])) ) { $this->session->data['last_order_id'] = $this->session->data['order_id']; }

В этом же файле находим строку:

$this->document->setTitle($this->language->get('heading_title'));

Меняем её на:

if (! empty($this->session->data['last_order_id']) ) { $this->document->setTitle(sprintf($this->language->get('heading_title_customer'), $this->session->data['last_order_id'])); } else { $this->document->setTitle($this->language->get('heading_title'));}

В этом же фале находим строку:

$data['heading_title'] = $this->language->get('heading_title');

Меняем её на:

if (! empty($this->session->data['last_order_id']) ) { $data['heading_title'] = sprintf($this->language->get('heading_title_customer'), $this->session->data['last_order_id']); } else { $data['heading_title'] = $this->language->get('heading_title'); } if ($this->customer->isLogged()) { $data['text_message'] = sprintf($this->language->get('text_customer'), $this->url->link('account/order/info&order_id=' . $this->session->data['last_order_id'], '', 'SSL'), $this->url->link('account/account', '', 'SSL'), $this->url->link('account/order', '', 'SSL'), $this->url->link('information/contact'), $this->url->link('product/special'), $this->session->data['last_order_id'], $this->url->link('account/download', '', 'SSL')); } else { $data['text_message'] = sprintf($this->language->get('text_guest'), $this->url->link('information/contact'), $this->session->data['last_order_id']); }

Далее открываем файл:

catalog/language/russian/checkout/success.php

Где «russian» — это папка нужного языка, я показываю на примере русского языка.

Находим строку:

$_['heading_title'] = "Заказ успешно сформирован!"

Текст переменной «Заказ успешно сформирован!» может отличатся в зависимости от перевода сайта.

Но главное — нам нужно просто объявить нужную переменную в любом месте файла success.php.

Добавляем код:

$_['heading_title_customer'] = 'Ваш заказ №%s приянт!';

Где «%s» — это вывод номера заказа. Остальной текст heading_title_customer можно менять под свои нужды.

Для того, чтоб отобразить номер заказа на других языковых версиях сайта, нужно править соответствующие файлы.

Важная информация

Не стоит забывать, что шаблон страницы благодарности, а именно файл success.tpl в CMS Opencart 2, 3 один для многих страниц:

  1. Для страницы благодарности после оформления заказа
  2. Для страницы «Спасибо» после регистрации аккаунта
  3. и т.д.

Не вносите правки в файл success.tpl, если не хотите наплодить большое количество ошибок, которые в дальнейшем могут повлиять на работу интернет-магазина, разработанном на движке Opencart.

Данный способ является самым рациональным, не нагружает систему и не создаст ошибок.

Перед тем, как внедрять вышеописанный код обязательно сделайте резервную копию сайта или просто скачайте все файлы, которые будут правиться.

Файлы и реализация может отличаться в зависимости от темы, на котором был разработан интернет-магазин. Но, как правило, код данной страницы остается неизменным.

Финальный результат будет выглядеть примерно так:

Отобразить номер заказа на странице благодарности Opencart 2

Надеюсь, что смог помочь!

Автор статьи
Автор статьи: Роман Евтушенко
Разработчик
Пост опубликован: 07.12.2021
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (3 оценок, среднее: 5,00 из 5)
Загрузка...

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *