Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

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

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 weeks later...

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

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

Надіслати
Поділитися на інших сайтах


  • 1 month later...

Помогите и мне пожалуйста. Задача очень похожа. Мне на странице (/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']; ?>. Но что туда нужно добавить?

Надіслати
Поділитися на інших сайтах


  • 1 month later...

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

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

Надіслати
Поділитися на інших сайтах


  • 1 month later...

иногда дает ошибку. версия 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 weeks later...

Доброго времени суток всем, выше-перечисленные способы вывода номера заказа не помогли, версия 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 year later...
  • 1 month later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.