Отображение элемента для определенной группы пользователей Webasyst

18 февраля 2018

Отображение элемента для определенной группы пользователей Webasyst осуществляется легко и просто

Допустим в Хабе нужно показать типа "Шарик, ты балбес", только для пользователей с группой id=5 Самый простой способ узнать id группы - в приложении Контакты подведите мышку к нужной группе и увидите ссылку на нее. Последняя в адресе /цифра/ и есть номер группы. Так вот...

Создаем файл wa-apps/hub/lib/classes/hubCustom.class.php следующего содержания

<?php
    class hubCustom
    {
        public static function getContactCategories($contact_id)
        {
            $ccm = new waContactCategoriesModel();
            return $ccm->getContactCategories($contact_id);
        }
        public static function getContactCategoryIds($contact_id)
        {
            return array_keys(self::getContactCategories($contact_id));
        }
    }
?>

Теперь в своем шаблоне вставляем такую конструкцию для вывода этой эаписи

{if in_array(5, hubCustom::getContactCategoryIds($wa->user('id')))}
    Шарик, ты балбес
{/if}

И аналогично для всех остальных поселений.

Например для магазина будет так

Файл wa-apps/shop/lib/classes/shopCustom.class.php

<?php
    class shopCustom
    {
        public static function getContactCategories($contact_id)
        {
            $ccm = new waContactCategoriesModel();
            return $ccm->getContactCategories($contact_id);
        }
        public static function getContactCategoryIds($contact_id)
        {
            return array_keys(self::getContactCategories($contact_id));
        }
    }
?>

В шаблон вставить так

{if in_array(5, shopCustom::getContactCategoryIds($wa->user('id')))}
    Шарик, ты балбес
{/if}