1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Показ для определённых групп

Тема в разделе "Основные вопросы по XenForo", создана пользователем Betelgelze, 15.05.2013.

Загрузка
  1. Betelgelze

    Betelgelze Местный

    Регистрация:
    30.12.11
    Сообщения:
    355
    Симпатии:
    101
    Версия XF:
    1.1.5
    Подскажите пожалуйста как указать правильно условие в коде?
    Нужно, чтобы текст отображался для определённых групп. Как указать ID этих групп через запятую в условии?

    Например для админа я знаю как сделать.

    Код:
    <xen:if is="{$visitor.is_admin}">
    <p>показываем текст только админу</p>
    <xen:else />
    </xen:if>
     
  2. eterskov

    eterskov Местный

    Регистрация:
    12.03.12
    Сообщения:
    1 329
    Симпатии:
    386
    Версия XF:
    1.2.3
    А показ чего?
     
  3. Betelgelze

    Betelgelze Местный

    Регистрация:
    30.12.11
    Сообщения:
    355
    Симпатии:
    101
    Версия XF:
    1.1.5
    Не имеет значение, что помещать в условие. Хоть бане, хоть тест, хоть ссылку, хоть что)
    В примере я показал скрытие текста, но туда можно поместить и вставку показа банера.

    Я не знаю как в условии указывать не одну группу как в примере админы, а несколько. Может кто знает?
     
  4. eterskov

    eterskov Местный

    Регистрация:
    12.03.12
    Сообщения:
    1 329
    Симпатии:
    386
    Версия XF:
    1.2.3
    Так всё это можно стандартными возможностями админки установить. Без правки шаблонов.
     
  5. Betelgelze

    Betelgelze Местный

    Регистрация:
    30.12.11
    Сообщения:
    355
    Симпатии:
    101
    Версия XF:
    1.1.5
    Вот именно что стандартные настройки. Например, как ты собираешься стандартными настройками сделать, чтобы ссылка в навбаре показывалась только группам А, Б, С. А остальные группы Д и Е её не видели? )) А так заходишь в шаблон, ставишь условие и всё ок.
    Притом для конкретного шаблона. А настройки прав они работают для всех шаблонов. Нету гибкости.
     
  6. eterskov

    eterskov Местный

    Регистрация:
    12.03.12
    Сообщения:
    1 329
    Симпатии:
    386
    Версия XF:
    1.2.3
    Я понял теперь о чём это.
     
  7. Betelgelze

    Betelgelze Местный

    Регистрация:
    30.12.11
    Сообщения:
    355
    Симпатии:
    101
    Версия XF:
    1.1.5
    Никто не знает?
     
  8. ApJIeKuHo

    ApJIeKuHo Местный

    Регистрация:
    08.03.13
    Сообщения:
    188
    Симпатии:
    28
    Версия XF:
    1.1.4
    Хм... показ в главном меню убрать да, нельзя. Хотя и тут варианты с TMS есть.
    Но что мешает просто ограничить доступ уже на самой странице?
     
  9. Betelgelze

    Betelgelze Местный

    Регистрация:
    30.12.11
    Сообщения:
    355
    Симпатии:
    101
    Версия XF:
    1.1.5
    А зачем на вопрос задавать ещё один вопрос? )
    Я не писал ни про какое меню, не понимаю зачем про него написали. На самой странице я и хочу сделать ограничение.
    Просто берётся шаблон и ставится код условия. Что если ты из группы id 1, то вот тебе журнальчик.
    А если ты из групп id 2,3,4, то вот тебе видео.

    К примеру <xen:if is="{$visitor.is_admin}"> - это только одна группа в условии. А как сделать несколько групп и их перечислять по номеру id?
     
  10. Nevil

    Nevil Пользователь

    Регистрация:
    28.05.13
    Сообщения:
    52
    Симпатии:
    13
    Столько лет уже форуму и ни не знает как сделать такую банальную вещь? Не ужели ни кому это не надо, кроме ТСа?

    Короче, опытным путём я нашёл как этот сделать.

    Для одной группы:
    PHP:
    <xen:if is="{$visitor.user_group_id} == 3">
    Для нескольких:
    PHP:
    <xen:if is="in_array({$visitor.user_group_id}, array(1, 2, 3))">
    Хотелось бы видеть все возможности внутренней разметки шаблонов ксена в одной темке.
    Вот тут уже изъявляли такое желание. Было бы неплохо, еслеб модератор или админ вёл такую темку.
    А может всё таки, есть какая то документация от разработчиков?
     
    Betelgelze нравится это.
  11. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Есть еще хелпер
    Код:
    <xen:if is="{xen:helper ismemberof, $user, 19}">
    тут нужный код
    </xen:if>
     
    Betelgelze нравится это.
  12. Nevil

    Nevil Пользователь

    Регистрация:
    28.05.13
    Сообщения:
    52
    Симпатии:
    13
    А что такое хелпер? Не понятная для меня конструкция.
     
  13. Betelgelze

    Betelgelze Местный

    Регистрация:
    30.12.11
    Сообщения:
    355
    Симпатии:
    101
    Версия XF:
    1.1.5
    Рано или поздно при расширении форума думаю кому то точно нужно будет. Но опять же будут искать информацию. А через поиск такое сложно найти, т.к. не понятно по какому слову искать.

    Я согласен, что нужно по Ксюхе раздел с документацией и добавлять туда информацию. Чтобы не было повторных тем.
    Pepelac, расскажи пожалуйста поподробнее.

    Твой код для показа определённой группе или определённому пользователю? Если использовать helper, то какой код будет для указания нескольких групп?
     
  14. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361

    Тема называется "Показ для определённых групп", каким боком тут определенный пользователь?

    Для нескольких групп достаточно указать ID групп через запятую:

    Код:
    <xen:if is="{xen:helper ismemberof, $user, 3, 4}">
    тут нужный код
    </xen:if>
    Если речь идет о пользователе, в данный момент просматривающем форум, то $user нужно заменить на $visitor
     
    Betelgelze нравится это.
  15. ApJIeKuHo

    ApJIeKuHo Местный

    Регистрация:
    08.03.13
    Сообщения:
    188
    Симпатии:
    28
    Версия XF:
    1.1.4
    Pepelac А можно сделать нечто вроде:
    PHP:
    <xen:if is="{xen:helper ismemberof, $user$accessgroups}">
    тут нужный код
    </xen:if>
    ??? А то я пробовал - не хочет, ругается(
     
  16. undll

    undll Местный

    Регистрация:
    22.03.11
    Сообщения:
    91
    Симпатии:
    36
    Версия XF:
    1.1.5
    а какой код использовать в условии чтобы сделать аналогичный вывод НО для дополнительных групп! Т.е. условие с основной группой работает и все ок, а вот с дополнительными у меня так и не получилось
    вместо user_group_id я использовал secondary_group_ids


    Решено!

    вот таким кодом

    Код:
    <xen:if is="{xen:helper ismemberof, $visitor, 3,4,5}">
    видимый текст для админов, модеров и еще 1 группы
    </xeni:if>
     
    Betelgelze нравится это.

Поделиться этой страницей