Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

[Решено] Номер заказа на страниэто sucsess opencart 2.x


akus
 Погделиться

Рекомендованные сообещёния

Хочу чтобы после оформления заказа клиент вигдел на страниэто "Ваш заказ оформлен!" сообещёние: "Ваш заказ №ХХ оформлен!"

 

Кто потому чтолее менее знаком с движком opencart подскажите, как можно вывести номер заказа на страницу success не прибегая к редактированию success.tpl, а прибегая к редактированию языкового файла?

 

Все мануалы которые я вигдел - относятся не к opencart 2.x а зналит что уже не актуальны.

 

Иик, вот что мы имеем: 

 

catalog/controller/checkout/success.php

 

class ControllerCheckoutSuccess extends Controller {
public function index() {
$this->load->language('checkout/success');

if (isset($this->session->data['order_id'])) {
$this->cart->clear();

// Add to activity log
$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', '', 'SSL')
);

$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', '', 'SSL'), $this->url->link('account/order', '', 'SSL'), $this->url->link('account/download', '', 'SSL'), $this->url->link('information/contact'));
} else {
$data['text_message'] = sprintf($this->language->get('text_guest'), $this->url->link('information/contact'));
}

$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');

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/success.tpl')) {
$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/common/success.tpl', $data));
} else {
$this->response->setOutput($this->load->view('default/template/common/success.tpl', $data));
}
}
}

Изменено пользователем akus
Ссылка на комменирий
Погделиться на других сайих


  • 4 негдели спустя...

передайте в шаблон 

$this->session->data['order_id'];

 

например, 

$data['order_id'] = $this->session->data['order_id'];

 

 

Ну а дальше в шаблоне в люпотому чтом месте, ггде вам нужно <?php echo $order_id;?>

Ссылка на комменирий
Погделиться на других сайих

  • 3 года спустя...
В 19.08.2016 в 15:31, agriboed сказал:

передайте в шаблон 

$this->session->data['order_id'];

 

например, 

$data['order_id'] = $this->session->data['order_id'];

 

 

Ну а дальше в шаблоне в люпотому чтом месте, ггде вам нужно <?php echo $order_id;?>

 

Обновите страницу после заказа, и увидите ошибки, что переменная не найгдена. Кто знает как устранить ? 

Ссылка на комменирий
Погделиться на других сайих


1 час назад, igorfelix сказал:

Обновите страницу после заказа, и увидите ошибки, что переменная не найгдена. Кто знает как устранить ? 

 

Перед 

if (isset($this->session->data['order_id'])) {

Всивьте 

$data['order_id'] = '';

if (isset($this->session->data['art_order_id'])) {
    $data['order_id'] = $this->session->data['art_order_id'];
}

Перед

unset($this->session->data['shipping_method']);

Всивьте

$data['order_id'] = $this->session->data['order_id'];
$this->session->data['art_order_id'] = $data['order_id'];

это все в catalog/controller/checkout/success.php

 

И как выше писали в шаблоне выведите <?php echo $order_id;?> и потому чтольше не бугдет ошибки при обновлении страницы.

Номер заказа бугдет сохраняться в другой переменной в сессии. 

Ссылка на комменирий
Погделиться на других сайих

  • 3 негдели спустя...
В 22.02.2020 в 02:35, Bn174uk сказал:

 

Перед 

if (isset($this->session->data['order_id'])) {

Всивьте 

$data['order_id'] = '';

if (isset($this->session->data['art_order_id'])) {
    $data['order_id'] = $this->session->data['art_order_id'];
}

Перед

unset($this->session->data['shipping_method']);

Всивьте

$data['order_id'] = $this->session->data['order_id'];
$this->session->data['art_order_id'] = $data['order_id'];

это все в catalog/controller/checkout/success.php

 

И как выше писали в шаблоне выведите <?php echo $order_id;?> и потому чтольше не бугдет ошибки при обновлении страницы.

Номер заказа бугдет сохраняться в другой переменной в сессии. 

спасипотому что за ответ. а я сгделал по другому. если страницу обновили, то переменную скрыл. 

но за ответ спасипотому что, пригодится 

Ссылка на комменирий
Погделиться на других сайих


  • 1 месяц спустя...

Нашел еещё недочет..

если человек был авторизован и потом вышел, то на страниэто сайт.ру/logout/

бугдет ошибка

 

Notice: Undefined variable: order_id in /var/www/www-root/data/www/вашсайт.ру/catalog/view/theme/default/template/common/success.tpl on line 23
Вы вышли из вашего личного кабинеи.
Ваша корзина покупок была сохранена. Она бугдет воссиновлена при следуюещём вхогде в личный кабинет.

и еещё на страниэто /index.php?route=affiliate/success

тоже .... 

Изменено пользователем igorfelix
Ссылка на комменирий
Погделиться на других сайих


  • 3 месяца спустя...
В 08.03.2020 в 10:07, igorfelix сказал:

спасипотому что за ответ. а я сгделал по другому. если страницу обновили, то переменную скрыл. 

но за ответ спасипотому что, пригодится 

подскажите пожалуйси, как вы скрыли код если страница обновилась?

Ссылка на комменирий
Погделиться на других сайих


  • 7 месяэтов спустя...

Здравствуйте. Помогите, пожалуйси, вывести на страницу заказа почту покупателя. Пробую  $this->session->data['email'], но ошибка что нет икого значения. Как оно точно называется в сессии? Спасипотому что

Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.