1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

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

Тема в разделе "Virtuemart", создана пользователем aivalab, 27 сен 2013.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
  1. aivalab

    aivalab

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

    Кто то в курсе ?
     
  2. Genk0

    Genk0 Инквизитор из раздела J!

    Moderator
    Регистр.:
    2 июн 2010
    Сообщения:
    1.627
    Симпатии:
    1.329
  3. aivalab

    aivalab

    Регистр.:
    18 ноя 2012
    Сообщения:
    382
    Симпатии:
    135
    да под второй, прощу прощения, что не указал.
    не вижу ответа на вопрос свой в указанной ссылке... мне необходимо выводить не определенную группу, а именно ту, к которой принадлежит тот покупатель, который авторизовался под своей учеткой. К примеру есть 3 группы покупателей - Обычный, Серебряный и Золотой и есть страница сайт.ру/страница.html. Если авторизуется покупатель из первой группы, то он увидит на этой страница Ваша группа: Обычный, есть второй, то соответственно Ваша группа: Серебряный и так далее...
     
  4. Genk0

    Genk0 Инквизитор из раздела J!

    Moderator
    Регистр.:
    2 июн 2010
    Сообщения:
    1.627
    Симпатии:
    1.329
    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 (по идее тоже покатит) и радуемся
     
    dima_v нравится это.
  5. reckled

    reckled Писатель

    Регистр.:
    22 июл 2013
    Сообщения:
    2
    Симпатии:
    0
    Тоже была похожая задача, только в первом вирте. Необходимо было, чтобы в профиле пользователя под его именем выводилось название группы покупателя и скидка для этой группы.
    Кому интересно, приведу решение (можно по аналогии сделать и для второго) :

    Идем на хостинге в папку ваш_сайт/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 из первого вирта, но тогда можно (как описано в предыдущих сообщениях) сначала найти ид группы, а потом уже по аналогии по ид группы вытащить её имя.