Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

[Решено] Как показать номер заказа после оформления?


 Поделиться

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

Спасибо огромное, получилось. Два вопроса:

1. Что делает второй кусок кода.

2. Не могу найти где в языковых файлах прописывается тема "Заказ обновлен"

Пересмотрел 10 раз 

catalog/language/russian/mail/order.php

Но в нем нет таких строк. Есть "заказ изменен". Нужно еще эту строчку найти и поменять местами. Я так понимаю то же самое нужно сделать в строке

$subject = sprintf($language->get('text_update_subject'), html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'), $order_id);

Только где это значение функции в языках, не найду никак.

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


С этим разобрался, файлы в папке admin.

Последний вопрос (может ответят). При составлении письма в поле "От" прописывается название сайта, которое настроено в админке. Как изменить это? Нужно ли переменную прописывать и куда?

Думаю вставить переменную $text_from_letter

Как ее правильно прописать в контроллере, model и order.php. В языковых файлах это уже дело пятое и простое.

Я так понимаю что нужно будет прописать в админ части и в магазине.

Кстати, на счет языковых файлах я, кажется, поторопился. В это поле вставляется глобальная переменная. Если менять на мою, то сколько файлов придется изменить (дописать ее)?

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


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

Нужно получить кроме номера заказа еще номер телефона и сумму заказа на странице после оформления заказа.

Уже несколько дней пытаюсь.

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


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

Помогите и мне пожалуйста. Задача очень похожа. Мне на странице (/index.php?route=checkout/success) нужно тоже вывести номер заказа и сумму заказа.

 

Только номер и сумма заказа должны не через языковые файлы выводится. Это нужно для партнерской сети, после оформления заказа передавать партнерской сети информацию о номере и сумме заказа.

 

Пробовала в шаблоне указать <?php echo $order_id; ?> и <?php echo $order['total']; ?>, но ничего не получилось  :cry:

 

Помогите пожалуйста!

 

Версия Opencart 1.5.5.1

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


Помогите и мне пожалуйста. Задача очень похожа. Мне на странице (/index.php?route=checkout/success) нужно тоже вывести номер заказа и сумму заказа.

 

Только номер и сумма заказа должны не через языковые файлы выводится. Это нужно для партнерской сети, после оформления заказа передавать партнерской сети информацию о номере и сумме заказа.

 

Пробовала в шаблоне указать <?php echo $order_id; ?> и <?php echo $order['total']; ?>, но ничего не получилось  :cry:

 

Помогите пожалуйста!

 

Версия Opencart 1.5.5.1

 

Неужели никто не может помочь??

 

На сколько я понимаю, нужно еще что-то добавить в catalog/controller/checkout/success.php, что бы в шаблоне срабатывали <?php echo $order_id; ?> и <?php echo $order['total']; ?>. Но что туда нужно добавить?

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


Ребята, ну помогите пожалуйста. Я очень плохо знаю PHP, уже 3 дня мучаюсь, ничего не получается. Там же наверняка 2 строчки кода добавить, не более....

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


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

Ребята, ну помогите пожалуйста. Я очень плохо знаю PHP, уже 3 дня мучаюсь, ничего не получается. Там же наверняка 2 строчки кода добавить, не более....

Лучше создай новую тему, иначе никто не будет тебе писать.

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


viki обращалась в ЛС и давно уже получила помощь на платной основе.

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

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

иногда дает ошибку. версия 1.5.1.3.

изменения делал по https://opencartforum.com/topic/2367-kak-pokazat-nomer-zakaza-posle-oformleniia/?do=findComment&comment=56915

 

2014-02-06 23:27:14 - PHP Notice:  Undefined index: order_id in  /catalog/controller/checkout/success.php on line 66
2014-02-06 23:27:14 - PHP Notice:  Undefined index: order_id in  /catalog/controller/checkout/success.php on line 103
2014-02-06 23:27:14 - PHP Notice:  Undefined index: order_id in  /catalog/controller/checkout/success.php on line 120
 
что это может быть
Ссылка на комментарий
Поделиться на других сайтах


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

Доброго времени суток всем, выше-перечисленные способы вывода номера заказа не помогли, версия 1.5.5.1, помогите решить данный вопрос (пробовал через <?php echo $order_id; ?> в файле success.tpl выводить, но не очень то все гладко)

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


 

Содержимое файла товарища JohnnyVega в виде сообщения

Сообщение о успешном заказе. Ссылка на заказ, в тексте и заголовке страницы номер заказа, для гостевого заказа - номер заказа в теле письма (Message of success order)

Версия магазина: ocStore v1.5.1.3

Описание: Сообщение о успешном заказе. Ссылка на заказ, в тексте и заголовке страницы номер заказа, для гостевого заказа - номер заказа в теле письма

Изменения в файлах:

Логика

в файле catalog/controller/checkout/success.php

находим и комментируем // строчку

unset($this->session->data['order_id']);
далее, мы находим и комментируем // строчку

$this->document->setTitle($this->language->get('heading_title'));
и сразу после вставляем свои

// Сообщение о успешном заказе. Ссылка на заказ, в тексте и заголовке страницы номер заказа, для гостевого заказа - номер заказа в теле письма
// Изменяем заголовок страницы
if ($this->session->data['order_id'] <>"") {
$this->document->setTitle(sprintf($this->language->get('heading_title_customer'), $this->session->data['order_id']));
						} else {
						$this->document->setTitle($this->language->get('heading_title'));
						}
//////////////
далее, снова находим и комментируем // строчку

$this->data['heading_title'] = $this->language->get('heading_title');
и сразу после вставляем свои

// Сообщение о успешном заказе. Ссылка на заказ, в тексте и заголовке страницы номер заказа, для гостевого заказа - номер заказа в теле письма
/////////////
if ($this->session->data['order_id'] <>"") {
			$this->data['heading_title'] = sprintf($this->language->get('heading_title_customer'), $this->session->data['order_id']);
						} else {
						$this->data['heading_title'] = $this->language->get('heading_title');
						}
//////////////////////
далее, снова находим и комментируем /* блок */

if ($this->customer->isLogged()) {
			$this->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 {
						$this->data['text_message'] = sprintf($this->language->get('text_guest'), $this->url->link('information/contact'));
						}
сразу после вставляем свой

//Сообщение о успешном заказе. Ссылка на заказ, в тексте и заголовке страницы номер заказа, для гостевого заказа - номер заказа в теле письма
if ($this->customer->isLogged()) {
			$this->data['text_message'] = sprintf($this->language->get('text_customer'), $this->url->link('account/order/info&order_id=' . $this->session->data['order_id'], '', 'SSL'), $this->session->data['order_id'], $this->url->link('account/account', '', 'SSL'), $this->url->link('account/order', '', 'SSL'), $this->url->link('account/download', '', 'SSL'), $this->url->link('information/contact'));
						} else {
						$this->data['text_message'] = sprintf($this->language->get('text_guest'), $this->session->data['order_id'], $this->url->link('information/contact'));
						}
//////////////

Отображение

в файле catalog/language/russian/checkout/success.php находим строчку

$_['heading_title'] = 'Ваш заказ оформлен!';

сразу после нее вставляем свои

// Добавляем шаблон для номера заказа
$_['heading_title_customer'] = 'Ваш заказ #%s оформлен!';
далее, находим и комментируем /* блок */

$_['text_customer'] = '<p>Ваш заказ был успешно оформлен!</p><p>Вы можете просмотреть историю заказов в <a href="%s">Личном кабинете</a>, перейдя в <a href="%s">Историю заказов</a>.</p>Если Ваша покупка связана со скачиваемым товаром, перейдите на страницу <a href="%s">Загрузок</a> для их просмотра.<p></p><p>Все вопросы направляйте <a href="%s">владельцу магазина</a>.</p><p>Спасибо за покупку!</p>';
$_['text_guest'] = '<p>Ваш заказ был успешно оформлен!</p><p>Все вопросы направляйте <a href="%s">владельцу магазина</a>.</p><p>Спасибо за покупку!</p>';
сразу после вставляем свой

// шаблон для текста об успешном заказе
$_['text_customer'] = '<p>Ваш заказ <a href="%s">#%s</a> был успешно оформлен!</p><p>Вы можете просмотреть историю заказов в <a href="%s">Личном кабинете</a>, перейдя в <a href="%s">Историю заказов</a>.</p>Если Ваша покупка связана со скачиваемым товаром, перейдите на страницу <a href="%s">Загрузок</a> для их просмотра.<p></p><p>Все вопросы направляйте <a href="%s">владельцу магазина</a>.</p><p>Спасибо за покупку!</p>';
$_['text_guest'] = '<p>Ваш заказ #%s был успешно оформлен!</p><p>Все вопросы направляйте <a href="%s">владельцу магазина</a>.</p><p>Спасибо за покупку!</p>';
//////////
All right reserved. Copyright © 2012

 

 

Notice: Undefined index: order_id in /home/p101182/www/*мой сайт*/catalog/controller/checkout/success.php on line 27Notice: Undefined index: order_id in/home/p101182/www/*мой сайт*/catalog/controller/checkout/success.php on line 61Notice: Undefined index: order_id in /home/p101182/www/*мой сайт*/catalog/controller/checkout/success.php on line 80

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


Notice: Undefined index: order_id in /home/p101182/www/*мой сайт*/catalog/controller/checkout/success.php on line 27Notice: Undefined index: order_id in/home/p101182/www/*мой сайт*/catalog/controller/checkout/success.php on line 61Notice: Undefined index: order_id in /home/p101182/www/*мой сайт*/catalog/controller/checkout/success.php on line 80

у меня на 1.5.1.3 такое-же. Редко, но выскакивает.

причем не могу поймать момент, на каких заказах эта ошибка выскакивает

Еще и кодировку страницы портит

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


у меня на 1.5.1.3 такое-же. Редко, но выскакивает.

причем не могу поймать момент, на каких заказах эта ошибка выскакивает

Еще и кодировку страницы портит

Даже если хоть 1 раз выскакивает - это уже не валидный код. У меня вообще не работает.

 

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

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


Даже если хоть 1 раз выскакивает - это уже не валидный код. У меня вообще не работает.

 

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

Нам вообще без номера заказа никак. Клиенты платят через терминалы и если заказ гостевой, то где узнать номер заказа? - звонить оператору ...

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


а в чем проблема номер заказа выслать на телефон, указанный при оформлении?

такое в планах есть. немножко затратно (SMS рассылка в Беларусь раза в три дороже), но заметно повышает лояльность

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


Мне подсказали более простую реализацию

 

в Файле /catalog/controller/checkout/success.php внес изменения

<?php
class ControllerCheckoutSuccess extends Controller { 
	public function index() { 	
	$this->data['order_id'] = 0; // 1
	$this->data['total'] = 0; // 1
		if (isset($this->session->data['order_id'])) {
		$this->data['order_id'] = $this->session->data['order_id']; // 1
                $this->data['total'] = $this->cart->getTotal(); // 1

// 1 - это для перехвата номера заказа и суммы заказа
			$this->cart->clear();

			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']);
		}	
									   
		$this->language->load('checkout/success');
		
		$this->document->setTitle($this->language->get('heading_title'));

		$this->data['breadcrumbs'] = array(); 

      	$this->data['breadcrumbs'][] = array(
        	'href'      => $this->url->link('common/home'),
        	'text'      => $this->language->get('text_home'),
        	'separator' => false
      	); 
		
      	$this->data['breadcrumbs'][] = array(
        	'href'      => $this->url->link('checkout/cart'),
        	'text'      => $this->language->get('text_basket'),
        	'separator' => $this->language->get('text_separator')
      	);
				
		$this->data['breadcrumbs'][] = array(
			'href'      => $this->url->link('checkout/checkout', '', 'SSL'),
			'text'      => $this->language->get('text_checkout'),
			'separator' => $this->language->get('text_separator')
		);	
					
      	$this->data['breadcrumbs'][] = array(
        	'href'      => $this->url->link('checkout/success'),
        	'text'      => $this->language->get('text_success'),
        	'separator' => $this->language->get('text_separator')
      	);

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

		if ($this->customer->isLogged()) {
    		$this->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 {
    		$this->data['text_message'] = sprintf($this->language->get('text_guest'), $this->url->link('information/contact'));
		}
		
    	$this->data['button_continue'] = $this->language->get('button_continue');

    	$this->data['continue'] = $this->url->link('common/home');

		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/success_order.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/common/success_order.tpl';
		} else {
			$this->template = 'default/template/common/success_order.tpl';
		} // 2
		
// 2 - изменил путь к tpl файлу куда будут выводиться результаты контроллера и соответственно создал свой tpl файл в точности копирующий обычный success.tpl и добавил туда <?php echo $order_id; ?> и <?php echo $total; ?> в то место где мне нужно вывести результаты (номер заказа и сумму)
		$this->children = array(
			'common/column_left',
			'common/column_right',
			'common/content_top',
			'common/content_bottom',
			'common/footer',
			'common/header'			
		);
				
		$this->response->setOutput($this->render());
  	}
}
?>
Изменено пользователем afwollis
spoiler
Ссылка на комментарий
Поделиться на других сайтах


  • 1 год спустя...

Мне подсказали более простую реализацию

...

Спасибо, помогло.

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


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

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

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

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

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

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

Войти

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

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

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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