Достаточно часто, при создании сайта на битрикс, можно столкнуться с такой проблемой: на сайте имеется несколько групп оптовых покупателей, для которых заведены определенные типы цен. И есть розничные цены. Если оптовик заходит под своей учеткой-то он видет оба типа цен, хотя и покупает по своей. Давайте скроем от него розничную цену, что бы не мешалась
Сначала создаем нужные группы оптовиков, для этого проходим в Администрирование-настройки-Пользователи-Группы пользователей и нажимаем "Добавить группу"
Типы цен создаются тут: Администрирование- Магазин- Настройки-Типы цен
По умолчанию, у вас всегда будет как минимум один тип цены, как правило он называется "Розничные" или "Интернет цена"- по ней производится покупка и оформление товаров по умолчанию. И она всегда доступна для всех пользователей, в том числе не авторизованных.
Создаем свои типы цен. Самое главное тут, это вписать название цены и выставить права доступа. На скриншоте: Цена называется "Для выгрузки на сайт Казахстан" и ее ID = "6" и доступна на просмотр и покупку только для пользователей находящихся в группах с ID 8 и 9.
Если посмотрим на каталог товаров как пользователь из группы 8, авторизовавшись от его имени, то увидем две цены в каталоге. Свою, на которую разрешен просмотр и покупка и "Розничную"- так как мы являемся "Все пользователи в том числе не авторизованные"
Что бы скрыть розничную цену (как вариант оформить ее как-то иначе или задвинуть в другой угол карточки товара). Можно воспользоватяся API битрикс, на проверку группы текущего авторизованного пользователя пользователя.
В том месте, где в шаблоне каталога выводятся цены, размещаем вот такой код (подсказки по коду прямо в нем):
Вот таким образом можно скрыть не нужные пользователю типы цен. Как правило, актуально только если у вас несколько групп пользователей с правом на покупку по определенному типу цены
![]()
Александр Жулин
|
Приветствую я конечно (возможно) не правильно сделал. Но вот внедрил 02.04.2018 некий код. У меня штук 20 типов цен. И для каждого покупателя надо выводить определенную цену, бывает даже 2 цены. Может подскажите правильно ли это. Ну судя по продажам выводится цены правильные + в корзину падает правильная цена.
Создал (например) группу пользователей Оптовые покупатели(10), Дилеры(12), Крупный опт(14), ......Так же создал типы цен - ОПТ(WHOLESALE) Дилерская(Diler) КрОПТ(KrOpt). Зарегистрировал пользователей и дал им группу в соответствие с типом цен. Открываю компоненту bitrix:catalog и приписываю до вывода компоненты: if(in_array(10, CUser::GetUserGroup($USER->GetID()))){ $pri = array (0=>"BASE",1=>"WHOLESALE"); } elseif(in_array(12, CUser::GetUserGroup($USER->GetID()))){ $pri = array (0=>"Diler"); } elseif(in_array(14, CUser::GetUserGroup($USER->GetID()))){ $pri = array (0=>"KrOpt"); } else { $pri = array (0=>"BASE"); } Далее в компоненте ищу строчку "PRICE_CODE" и прописываю ""PRICE_CODE" => $pri," И выводятся у меня цены в соответствии с группой пользователей. Для пользователей группы 10 выводится 2 цены Розничная и оптовая. Для других групп своя 1 цена. Для остальных (В том числе не авторизованные) Розничная цена (BASE). |
![]()
Дмитрий Иванов
|
Подскажите, пожалуйста, можно ли реализовать переключение пользователя между группами пользователей/типами цен, допустим, оптовая цена и бесплатная доставка от 100 000, розничная цена и доставка от 5 000?
|
На нем, уже много видеоуроков по 1С-Битрикс. Как одиночные видео так и серии видеоуроков Перейти на канал
Совсем скоро выйдет видеокурс по разработке доски объявлений с мобильным приложением. Подписывайтесь и будьте в курсе: