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

Как добавить ГруппуКлинтов в admin/order/list


Recommended Posts

Добрый день. Пожалуста, помогите добавить на страницу admin/index.php?route=sale/order название ГруппыКлиентов

Если добавить "'customer_group_id' => $result['customer_group_id'" в admin/controller/sale/order.php, то естественно выводится номер группы покупателя из таблицы ORDER

Спойлер

group.thumb.JPG.e92e94075c9417e2e57b31ce98161956.JPG

 

если можно, подскажите, как вывести наименование ГруппыКлиентов, но из таблицы "CUSTOMER", а не из ORDER.

Есть Покупатели, у которых были возвраты, они переведены в группу "Возвратов", и хотелось-бы, чтобы на странице заказов это было видно.

 

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


в файле admin\model\sale\order.php найдите метод getOrders и перепишите sql запрос на вот такой:
 

$sql = "SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS order_status, (SELECT cgd.name FROM " . DB_PREFIX . "customer_group_description cgd WHERE cgd.customer_group_id = o.customer_group_id AND cgd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS customer_group, o.shipping_code, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `" . DB_PREFIX . "order` o";

 

И теперь можно добавить "'customer_group' => $result['customer_group']" в admin/controller/sale/order.php и вывести ее во вьюхе

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

Спасибо! Но, где-то, чего-то, не сработало.

 

Спойлер

ret.JPG.f19295cf8eef81e39435247d06768f35.JPG

 статус отобразился из заказа, а не из таблицы customer

 

Спойлер

ret2.JPG.9b78a85c63187212c4a9474f9128a708.JPG

 

где Клиенту присвоена другая группа

 

Спойлер

id2.JPG.8e233ece00d6576548dd0cc3b940bab4.JPG

 

 

 

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


если нужно отображать группу по id группы из заказа -тогда все правильно.
Если нужно показывать группу по id группы в customer - тогда подзапрос такой будет:
(SELECT cgd.name FROM " . DB_PREFIX . "customer c LEFT JOIN " . DB_PREFIX . "customer_group_description cgd ON cgd.customer_group_id = c.customer_group_id WHERE c.customer_id = o.customer_id AND cgd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS customer_group,

подправил

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

                    $sql = "SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, 
                           (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id 
                                AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS order_status, 
                                    (SELECT cgd.name FROM " . DB_PREFIX . "customer c LEFT JOIN " . DB_PREFIX . "customer_group_description cgd 
                                        ON cgd.customer_group_id = c.customer_group_id 
                                        WHERE c.customer_group_id = o.customer_group_id 
                                        AND cgd.language_id = '" . (int)$this->config->get('config_language_id') . "') 
                                        AS customer_group,, o.shipping_code, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified 
                                        FROM `" . DB_PREFIX . "order` o";

Пропали Группы 

 

Спойлер

order.JPG.585fd6c96a7aa74faad4dedd1dd88d25.JPG

 

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


 $sql = "SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, 
                           (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id 
                                AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS order_status, 
                                    (SELECT cgd.name FROM " . DB_PREFIX . "customer c LEFT JOIN " . DB_PREFIX . "customer_group_description cgd 
                                        ON cgd.customer_group_id = c.customer_group_id 
                                        WHERE c.customer_id = o.customer_id 
                                        AND cgd.language_id = '" . (int)$this->config->get('config_language_id') . "') 
                                        AS customer_group,, o.shipping_code, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified 
                                        FROM `" . DB_PREFIX . "order` o";

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

4 минуты назад, Prooksius сказал:

 $sql = "SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, 
                           (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id 
                                AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS order_status, 
                                    (SELECT cgd.name FROM " . DB_PREFIX . "customer c LEFT JOIN " . DB_PREFIX . "customer_group_description cgd 
                                        ON cgd.customer_group_id = c.customer_group_id 
                                        WHERE c.customer_id = o.customer_id 
                                        AND cgd.language_id = '" . (int)$this->config->get('config_language_id') . "') 
                                        AS customer_group,, o.shipping_code, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified 
                                        FROM `" . DB_PREFIX . "order` o";

Групп не видно

 

Спойлер

order.JPG.d10a8e4b49de68d5184fa4941f8656ee.JPG

 

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


значит похоже у вас в этих заказах несуществующий customer_id, вероятно, удаленный уже.
Смысл такой, что сначала ищется customer по customer_id в заказе, и уже из него берется id группы и читается ее название.
Группы не показываются, если такого пользователя нет в базе.

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

6 часов назад, Prooksius сказал:

 $sql = "SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, 
                           (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id 
                                AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS order_status, 
                                    (SELECT cgd.name FROM " . DB_PREFIX . "customer c LEFT JOIN " . DB_PREFIX . "customer_group_description cgd 
                                        ON cgd.customer_group_id = c.customer_group_id 
                                        WHERE c.customer_id = o.customer_id 
                                        AND cgd.language_id = '" . (int)$this->config->get('config_language_id') . "') 
                                        AS customer_group,, o.shipping_code, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified 
                                        FROM `" . DB_PREFIX . "order` o";

customer_group,,   ---->  customer_group, (лишняя запятая)

 

<?xml version="1.0" encoding="utf-8"?>
<modification>
  <name>CustomerGroup_to_OrderList</name>
  <code>CustomerGroup_to_OrderList</code>
  <version>1.0</version>
  <author>Prooksius(Opencartforum)</author>
  <link>CustomerGroup_to_OrderList</link>
  	<file path="admin/model/sale/order.php">
		<operation>
			<search position="replace"><![CDATA[$sql = "SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS order_status, o.shipping_code, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `" . DB_PREFIX . "order` o";]]></search>
			<add><![CDATA[$sql = "SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, 
                           (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id 
                                AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS order_status, 
                                    (SELECT cgd.name FROM " . DB_PREFIX . "customer c LEFT JOIN " . DB_PREFIX . "customer_group_description cgd 
                                        ON cgd.customer_group_id = c.customer_group_id 
                                        WHERE c.customer_id = o.customer_id 
                                        AND cgd.language_id = '" . (int)$this->config->get('config_language_id') . "') 
                                        AS customer_group, o.shipping_code, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified 
                                        FROM `" . DB_PREFIX . "order` o";]]></add>
		</operation>
	</file>
	 <file path="admin/language/ru-ru/sale/order.php">
	<operation>
		<search><![CDATA[// Text]]></search>
		<add position="after"><![CDATA[$_['column_group']      = 'Группа покупателей';]]></add>
	</operation>
	</file>
	<file path="admin/controller/sale/order.php">
		<operation>
			<search><![CDATA['order_status'  => $result['order_status'] ? $result['order_status'] : $this->language->get('text_missing'),]]></search>
			<add position="after"><![CDATA['customer_group'=> $result['customer_group'],]]></add>
		</operation>
	</file>
	<file path="admin/view/template/sale/order_list.twig">
		<operation>
			<search><![CDATA[<td class="text-left">{% if sort == 'order_status' %} <a href="{{ sort_status }}" class="{{ order|lower }}">{{ column_status }}</a> {% else %} <a href="{{ sort_status }}">{{ column_status }}</a> {% endif %}</td>]]></search>
			<add position="before"><![CDATA[ <td class="text-left">{{ column_group }}</td>]]></add>
		</operation>
			<operation>
		<search><![CDATA[<td class="text-left">{{ order.order_status }}</td>]]></search>
		<add position="before"><![CDATA[<td class="left">{{ order.customer_group }}</td>]]></add>
    </operation>
	</file>
</modification>

 

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

 

6 часов назад, Tom сказал:

 

 

8 часов назад, Prooksius сказал:

 

 

Всё получилось!!! СПАСИБО ВАМ огромное!!!

Змінено користувачем garik
Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Вхід

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

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

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

Important Information

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