Перейти к содержанию
Igor112

Правильное отображение группы клиента в карточке заказа

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

OC 2.1
Дорогие форумчане, подскажите как выводить действительную группу покупателя в карточке заказа? Почему-то в неё выводится только первоначальная группа покупателя (Default)Screenshot_3.png.5c31576b6ee3a91d968a4d8c40413484.png.

Поделиться сообщением


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

Насколько я помню, здесь выводится группа покупателя на момент заказа

Поделиться сообщением


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

Если тот же клиент сделает ещё один заказ, то ничего не меняется. Пишет всё ту же стандартную группу.

Поделиться сообщением


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

По всей видимости группа берется из столбца customer_group_id таблицы oc_order. А необходимо брать из customer_group_id только таблицы oc_customer. Вот только где в контроллере сделать эту замену?

Поделиться сообщением


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

она и так берется из информации о покупателе
catalog\controller\checkout\confirm.php

if ($this->customer->isLogged()) {
    $this->load->model('account/customer');

	$customer_info = $this->model_account_customer->getCustomer($this->customer->getId());

	$order_data['customer_id'] = $this->customer->getId();
	$order_data['customer_group_id'] = $customer_info['customer_group_id'];
    ...
} elseif (isset($this->session->data['guest'])) {
	$order_data['customer_id'] = 0;
	$order_data['customer_group_id'] = $this->session->data['guest']['customer_group_id'];
    ...
}

 

Изменено пользователем thentru

Поделиться сообщением


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

Понял, однако в БД в указанных тут полях

35 минут назад, Igor112 сказал:

По всей видимости группа берется из столбца customer_group_id таблицы oc_order. А необходимо брать из customer_group_id только таблицы oc_customer. Вот только где в контроллере сделать эту замену?

разные значения указаны. 

Видимо что-то где-то работает не так как должно)

Поделиться сообщением


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

Нашёл код, отвечающий за вывод группы покупателя по адресу: admin\controller\sale\order.php

$customer_group_info = $this->model_customer_customer_group->getCustomerGroup($order_info['customer_group_id']);

if ($customer_group_info) {
$data['customer_group'] = $customer_group_info['name'];
} else {
$data['customer_group'] = '';
}

Самый интересный момент в том, что, действительно, customer_group подтягивается с order_info, а необходимо его брать с customer_info. Пытался внести много правок, но знаний не хватает на решение такой задачи. Подскажите что сделать.

Изменено пользователем Igor112

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 02.08.2018 в 13:01, thentru сказал:

она и так берется из информации о покупателе
catalog\controller\checkout\confirm.php


if ($this->customer->isLogged()) {
    $this->load->model('account/customer');

	$customer_info = $this->model_account_customer->getCustomer($this->customer->getId());

	$order_data['customer_id'] = $this->customer->getId();
	$order_data['customer_group_id'] = $customer_info['customer_group_id'];
    ...
} elseif (isset($this->session->data['guest'])) {
	$order_data['customer_id'] = 0;
	$order_data['customer_group_id'] = $this->session->data['guest']['customer_group_id'];
    ...
}

 

У меня нет такого файла, версия OC 2.1.

Поделиться сообщением


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

Это стандартный файл движка

Если у вас переделан механизм оформления заказа, то искать причину в нем или в стороннем модуле оформления, если такой используется 

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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