1С-Битрикс: ссылки в виде выпадающих списков с правами доступа через GetUserGroupArray
Была задача — уменьшить боковое поле на сайте путём «схлопывания» горячих ссылок. Для этого делается инфоблок, где название раздела является группой ссылок, а элементы раздела — самими ссылками. Добавляется свойство url (сюда вписываем, куда переходить) и добавляется множественное свойство groups_list (сюда вписываем число, какой группе отображать ссылку).
Принцип работы:
проверяем, если юзер принадлежит группе номер такой-то, то для этой группы доступна ссылка в виде выпадающего опшена.
В противном случае ни у кого нет права смотреть эту ссылку.
Если не указана никакая группа — по умолчанию опшен виден всем.
Решение:
Использован битриксовый GetUserGroupArray.
Использован компонент Разделы с top’ом элементов.
Сделан небольшой яваскрипт, чтобы опшены переходили по ссылкам.
Код шаблона ниже (со стилями):
</div>
Выглядит вот так:
Можно подключить библиотеку formstyler, но она косо работает во всех версиях ИЕ, хоть разработчиком заявлено обратное.
p.s.: снова две копейки про ИЕ — в государственных организациях, увы, и в «бюджетках», приходится тестировать под разные версии ИЕ и придумывать костыли с ухищрениями, потому что многие пользователи категорически не могут, не хотят или не знают как переползать на другие «вменяемые» браузеры. Вдобавок, из-за низкого уровня доходов или собственной лени — парк техники своей не обновляют, пользуются древними компьютерами и ноутбуками, на которых пиратская необновлёнка ХР. Встречаются единицы таких, кто понимает, что всё устарело, какие-то работы мирится и делает через одно_место или через знакомых, или хотя бы в крайнем случае через свой телефон, который умеет больше и порою работает быстрее, чем его «настольник».