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

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


 Погделиться

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

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

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

Спойлер

 

если можно, подскажите, как вывести наименование ГруппыКлиентов, но из иблицы "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 и вывести ее во вьюхе

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

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

DB_PREFIX . "oc_order_status os

очепятка копипаси)

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

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

 

Спойлер

ret.JPG.f19295cf8eef81e39435247d06768f35.JPG

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

 

Спойлер

ret2.JPG.9b78a85c63187212c4a9474f9128a708.JPG

 

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

 

Спойлер

id2.JPG.8e233ece00d6576548dd0cc3b940bab4.JPG

 

 

 

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


3 минуты назад, garik сказал:

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

вы хотели сказать Группа отобразилась из заказа?

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

если нужно отображать группу по 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

 

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


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

нужно показывать группу по id группы в customer

Да, хотелось-бы именно группы из customer

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


 $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
Ссылка на комменирий
Погделиться на других сайих


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

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

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

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

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

Войти

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

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

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

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

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