Opencart руководство: Smart Order Success Message
Опубликовано by Pavel Nakonechnyy on (изменено: ) в Web development. Метки: Opencart.После оформления заказа покупатель на экране видит стандартное сообщение opencart, о том, что заказ успешно оформлен. Но покупатели часто перезванивают в магазин с двумя вопросами:
- Я недавно оформил заказ, номер заказа не знаю, когда сможете привезти?
- Я недавно оформил заказ, но мне на почту ничего не приходило, я не знаю номер заказа.
Для решения данной проблемы был опробован модуль Smart Order Success Message.
Скачиваем дистрибутив под нашу версию opencart. Распаковываем архив.
Установка проводится в два шага. Из папки “Step 1” устанавливаем в Дополнения > Установщик дополнений. Обновить кеш модификаторов в Дополнения > Модификаторы (Менеджер дополнений). Потом из папки “Step 2” устанавливаем install_me.ocmod.zip также как и предыдущий. После установки в меню появится данный модуль.
Описание модуля:
- Shows the Firstname and Order Id on success page after checkout.
- Using vQmod or OCmod.
- Installation by one click.
Но у нас модуль не заработал. Мы используем OCSTORE 2.3 и шаблон UNISHOP. Разбираться почему не заработало не стали. Вместо этого внесли изменения в два файла на сайте.
Результат махинаций
/catalog/language/ru-ru/checkout/success.php
<?php
// Heading
$_['heading_title'] = 'Заказ успешно сформирован!';
// Text
$_['text_basket'] = 'Корзина покупок';
$_['text_checkout'] = 'Оформление';
$_['text_success'] = 'Успешно';
$_['text_customer'] = '<br><p>Вы можете просмотреть историю заказов в <a href="%s">Личном кабинете</a>, открыв <a href="%s">Историю заказов</a>.</p><p>Если у вас возникнут какие-либо вопросы, пожалуйста, свяжитесь с нами через Whatsapp, Viber: +7 (985) 907 94 97, <a href="https://t.me/lexresist">Telegram @***</a>, <a href="mailto:***@site.com"> email: ***@site.com</a>.</p><p>Спасибо за покупку в нашем интернет-магазине!</p><h2>Номер вашего заказа: %s</h2>';
$_['text_guest'] = '<p>Ваш заказ был успешно сформирован! Информация о заказе направлена на указанный вами email адрес (если не можете найти письмо, то проверьте папку СПАМ).</p><p>Если у вас возникнут какие-либо вопросы, пожалуйста, свяжитесь с нами через Whatsapp, Viber: +7 (999) 999 9***, <a href="https://t.me/***">Telegram @***</a>, <a href="mailto:***@site.com"> email: ***@site.com</a>.</p><p>Спасибо за покупку в нашем интернет-магазине!</p><h2>Номер вашего заказа: %s</h2>';
и /catalog/controller/checkout/success.php
<?php
class ControllerCheckoutSuccess extends Controller {
public function index() {
$this->load->language('checkout/success');
$order_id = $this->session->data['order_id'];
if (isset($this->session->data['order_id'])) {
$this->cart->clear();
// Add to activity log
if ($this->config->get('config_customer_activity')) {
$this->load->model('account/activity');
if ($this->customer->isLogged()) {
$activity_data = array(
'customer_id' => $this->customer->getId(),
'name' => $this->customer->getFirstName() . ' ' . $this->customer->getLastName(),
'order_id' => $this->session->data['order_id']
);
$this->model_account_activity->addActivity('order_account', $activity_data);
} else {
$activity_data = array(
'name' => $this->session->data['guest']['firstname'] . ' ' . $this->session->data['guest']['lastname'],
'order_id' => $this->session->data['order_id']
);
$this->model_account_activity->addActivity('order_guest', $activity_data);
}
}
unset($this->session->data['shipping_method']);
unset($this->session->data['shipping_methods']);
unset($this->session->data['payment_method']);
unset($this->session->data['payment_methods']);
unset($this->session->data['guest']);
unset($this->session->data['comment']);
unset($this->session->data['order_id']);
unset($this->session->data['coupon']);
unset($this->session->data['reward']);
unset($this->session->data['voucher']);
unset($this->session->data['vouchers']);
unset($this->session->data['totals']);
}
$this->document->setTitle($this->language->get('heading_title'));
$data['breadcrumbs'] = array();
$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/home')
);
$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_basket'),
'href' => $this->url->link('checkout/cart')
);
$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_checkout'),
'href' => $this->url->link('checkout/checkout', '', true)
);
$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_success'),
'href' => $this->url->link('checkout/success')
);
$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/account', '', true), $this->url->link('account/order', '', true), $this->url->link('account/download', '', true), $order_id);
} else {
$data['text_message'] = sprintf($this->language->get('text_guest'), $order_id);
}
$data['button_continue'] = $this->language->get('button_continue');
$data['continue'] = $this->url->link('common/home');
$data['column_left'] = $this->load->controller('common/column_left');
$data['column_right'] = $this->load->controller('common/column_right');
$data['content_top'] = $this->load->controller('common/content_top');
$data['content_bottom'] = $this->load->controller('common/content_bottom');
$data['footer'] = $this->load->controller('common/footer');
$data['header'] = $this->load->controller('common/header');
$this->response->setOutput($this->load->view('common/success', $data));
}
}