Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


Recommended Posts

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

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

Спойлер

 

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

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

 

Link to comment
Share on other sites


в файле 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 и вывести ее во вьюхе

Link to comment
Share on other sites

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

 

Спойлер

ret.JPG.f19295cf8eef81e39435247d06768f35.JPG

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

 

Спойлер

ret2.JPG.9b78a85c63187212c4a9474f9128a708.JPG

 

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

 

Спойлер

id2.JPG.8e233ece00d6576548dd0cc3b940bab4.JPG

 

 

 

Link to comment
Share on other sites


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

подправил

Link to comment
Share on other sites

                    $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

 

Link to comment
Share on other sites


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

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

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

Link to comment
Share on other sites


 $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";

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites


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

  • +1 1
Link to comment
Share on other sites

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
Link to comment
Share on other sites

 

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

 

 

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

 

 

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

Edited by garik
Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.