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

1.1.0 Разграничение доступа в модуле lasts_posts

Тема в разделе "Вопросы и ответы по XenForo Framework", создана пользователем tmp, 29.01.2012.

Загрузка
  1. tmp

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

    Регистрация:
    28.12.11
    Сообщения:
    2
    Симпатии:
    0
    Версия XF:
    1.0.0
    На данный момент стоит модуль lasts_posts:
    HTML:
    <div class="section staffOnline avatarList">
        <div class="secondaryContent">
        <h3>{xen:phrase last_posts}</h3>
            <xen:if is="{$xfPosts}">
                <ul>
                    <xen:foreach loop="$xfPosts" value="$user">
                        <li>
                            <xen:avatar user="$user.user" size="s" img="true" />
                            <div class="footnote"><a href="{xen:link $user.link}">{$user.title}</a></div>
    <div class="posterDate muted"><xen:datetime time="$user.time" /></div>
                        </li>
                    </xen:foreach>
                </ul>
            </xen:if>
        </div>
    </div>
    Но дело в том, что помимо публичных разделов, у меня еще есть и открытые только для некоторых групп разделы. Статично прописать условия показа в lasts_posts для id групп не получится, нужно как-то сделать сравнение маски доступа группы текущего пользователя.
    Но к сожалению я не очень понимаю в какой переменной это глядеть, может кто-либо помочь?
     
  2. Yoskaldyr

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

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Првкой шаблона это не решить. Надо править код и довольно существенно.

    Правильный вариант, но больше переписывать и не каждый сможет. Сначала надо получить список узлов (всех если выбираем последние темы со всего форума), потом этот список надо отфильтровать для текущего пользователя на возможность просмотра узла. А потом уже начинать выбирать последние сообщения.

    Тоже рабочий вариант (не совсем правильный, но самый быстрый по реализации) изначально в запросе ограничить разделы откуда выбирать последние темы/сообщения, т.е. только те разделы которые могут просматривать только гости. В запрос добавить:

    node_id IN ( список id узлов через запятую )

    В любом случае шаблон править не надо
     
    tmp нравится это.
  3. tmp

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

    Регистрация:
    28.12.11
    Сообщения:
    2
    Симпатии:
    0
    Версия XF:
    1.0.0
    Точно, уже разобрался, решил поставить ragtekовский модуль и не париться :) Спасибо!
     

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