[Помощь] Вывести группу, к которой отнесен покупатель

aivalab

Постоялец
Регистрация
18 Ноя 2012
Сообщения
384
Реакции
143
Задача поставила в ступор, час в гугле не принес результата. Задача проста при этом - необходимо вывести название группы покупателей, к которой отнесен зарегистрированный и авторизовавшийся на сайте пользователь.

Кто то в курсе ?
 
я так понимаю под второй вирт?
Для просмотра ссылки Войди или Зарегистрируйся
как вывести название группы, имея ее ИД - думаю не проблема
 
я так понимаю под второй вирт?
Для просмотра ссылки Войди или Зарегистрируйся
как вывести название группы, имея ее ИД - думаю не проблема
да под второй, прощу прощения, что не указал.
не вижу ответа на вопрос свой в указанной ссылке... мне необходимо выводить не определенную группу, а именно ту, к которой принадлежит тот покупатель, который авторизовался под своей учеткой. К примеру есть 3 группы покупателей - Обычный, Серебряный и Золотой и есть страница сайт.ру/страница.html. Если авторизуется покупатель из первой группы, то он увидит на этой страница Ваша группа: Обычный, есть второй, то соответственно Ваша группа: Серебряный и так далее...
 
PHP:
//получаем user ID
$usuario = JFactory::getUser();
$id_usuario = $usuario->id;
                   
//получаем ИД shopper group
$datos = JFactory::getDbo();
$query = 'SELECT `virtuemart_shoppergroup_id` FROM `#__virtuemart_vmuser_shoppergroups` WHERE `virtuemart_user_id` = ' . $id_usuario;
$datos->setQuery($query);
$grupo_comprador = $datos->loadResult();
я не помню точно, но имена групп хранятся в той же таблице, значит меняем virtuemart_shoppergroup_id на name или он там - нет перед глазами таблицы.
пихаем в шаблон или модуль, позволяющий обрабатывать php (по идее тоже покатит) и радуемся
 
Тоже была похожая задача, только в первом вирте. Необходимо было, чтобы в профиле пользователя под его именем выводилось название группы покупателя и скидка для этой группы.
Кому интересно, приведу решение (можно по аналогии сделать и для второго) :

Идем на хостинге в папку ваш_сайт/components/com_virtuemart/themes/ваша_тема/templates/pages/
и находим файл
account.index.tpl.php

Находим в нём строку:
Код:
if ($perm->is_registered_customer($auth['user_id'])) {

После этой строки вставляем следующее:
Код:
$get_data = JFactory::getDbo();
$shp_gr_name = "SELECT `shopper_group_name` FROM `jos_vm_shopper_group` WHERE `shopper_group_id`=" . $auth["shopper_group_id"];
$get_data->setQuery($shp_gr_name);
$gr_name = $get_data->loadResult();
Вместо "jos_vm_shopper_group" подставьте имя таблицы с префиксом как в вашей БД

Далее находим кусок кода:
Код:
<?php  echo $auth["first_name"] . " " . $auth["last_name"] . "<br />";?>

и меняем его на:
Код:
<?php  echo $auth["first_name"] . " " . $auth["last_name"] . "<br />Группа покупателя: <u>" . $gr_name . "</u><br />Размер скидки: <u>" . number_format($auth["shopper_group_discount"], 0, '.', '') . "%</u><br />";?>

Буду рад, если кому-то это поможет ;)

P.S. во втором вирте, по-моему, нет похожего массива на массив auth из первого вирта, но тогда можно (как описано в предыдущих сообщениях) сначала найти ид группы, а потом уже по аналогии по ид группы вытащить её имя.
 
Назад
Сверху