Гости видят только Важные темы

GarrySt

Мудрила
Premium
Сообщения
767
Реакции
598
Баллы
28,590
Вопрос. Есть раздел которые гости не видят.

Хотелось бы сделать раздел видимым для гостей, но чтоб они в нём видели только темы с маркером "Важно".
Обычные темы не видели.

Если ли такой плагин? Либо может как то ручками можно дописать где то? Есть идеи?

Заранее спасибо
 
как вариант можно создать попробовать создать раздел еще один в настройками приватности исключительно видят гости.
важные темы перенести с перенаправлением в раздел для гостей.

как то так хз прокатит нет но попробовать можно.
 
как вариант можно создать попробовать создать раздел еще один в настройками приватности исключительно видят гости.
важные темы перенести с перенаправлением в раздел для гостей.
.

Идея понятно конечно. Интересно. Но может будет другое решение.
Я помню давно тут где то в шаблонах показывали как сделать что то видимым а что то нет для гостей. Может Hope подскажет
 
Хм .. Сейчас постараюсь наворотить кое что если получится отпишусь )

Шаблон thread_list
Код:
<xen:hook name="thread_list_threads">
        <xen:foreach loop="$threads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>
        </xen:hook>
Заменить
Код:
<xen:if is="{xen:helper ismemberof, $visitor, x,y}">
        <xen:hook name="thread_list_threads">
        <xen:foreach loop="$threads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>
        </xen:hook>
        </xen:if>
Где x,y вставляйте id групп пользователей которые могут видеть все сообщения таким же образом через запятую
Код:
<xen:if is="{xen:helper ismemberof, $visitor, x,y}">

Ну и права на просмотр тем вернуть гостям .
 
От спасибо, в течении получаса попробую, отпишу тут о результатах

@Telia . Гениально! Все работает! Жаль убрали кнопочку "Лучший ответ"
Спасибо!

Telia ., Списались уже в личку, но продублирую тут:

там ньанс возник.
Это работает на весь форм теперь, а можно прикрутить чтоб это работало к конкретному разделу (подразделу)
Поидее то да, зная id nodes в котором это должно работать?
 
Смотрите условия переменных и делайте по примеру. :-)

Я так и понял. Просто когда в последний раз я лез в шаблон править НЕ стили а вот такие вещи, я сломал нафиг все :)
Тихо для себя сейчас поэксперементирую, потом гляну что профи подскажут и сравню :)
 
Hope, Уху, только теперь надо совместить это.

До конца логику шаблона thread_list надо понять мне еще бы.

Этот текст будет показан в категории x
- сюда заворачивать измененый код от Telia . а в елсе оригинал?
 
Код:
<xen:if is="{$category.node_id} == x">
    <xen:if is="{xen:helper ismemberof, $visitor, x,y}">
        <xen:hook name="thread_list_threads">
        <xen:foreach loop="$threads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>
        </xen:hook>
      </xen:if>
</xen:if>
 
Код:
<xen:if is="{$category.node_id} == x">
    <xen:if is="{xen:helper ismemberof, $visitor, x,y}">
        <xen:hook name="thread_list_threads">
        <xen:foreach loop="$threads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>
        </xen:hook>
      </xen:if>
</xen:if>

Перестали все видеть везде обычные темы. Даже те,к то прописан в visitor, x,y
 
Тогда иначе надо пробовать .
С телефона неудобно немного)
Код:
  <xen:if is="{xen:helper ismemberof, $visitor, x,y}">
<xen:if is="{$category.node_id} == x">
        <xen:hook name="thread_list_threads">
        <xen:foreach loop="$threads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>
        </xen:hook>
      </xen:if>
</xen:if>

И более того гость может перейти в тему по последнему сообщению которое отображается в разделе. То мы делаем исключает только отображение списка тем гостям кроме важных.
 
Telia ., тоже не работает
Не горит супер. Когда уже за стационаром будешь прикинь плиз.
Опять же, нужен же и оригинальный код, для НЕ выбраных разделов, И твой код для выбранных.

И более того гость может перейти в тему по последнему сообщению которое отображается в разделе. То мы делаем исключает только отображение списка тем гостям кроме важных.

Это да, но это не страшно.
 
Последнее редактирование:
Вроде разобрался малька. Но пришлось почему то продублировать код . Иначе не поллучилось
Код:
<xen:hook name="thread_list_threads">
        <xen:foreach loop="$threads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>
        </xen:hook>
заменить на
Код:
<xen:if is="{xen:helper ismemberof, $visitor, 3}">
        <xen:hook name="thread_list_threads">
        <xen:foreach loop="$threads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>
        </xen:hook>
        </xen:if>
      
      
        <xen:if is="in_array({$forum.node_id}, array(3))">
        <xen:hook name="thread_list_threads">
        <xen:foreach loop="$threads" value="$thread">
            <xen:include template="thread_list_item" />
        </xen:foreach>
        </xen:hook>
        </xen:if>

Код:
<xen:if is="{xen:helper ismemberof, $visitor, 3}">
Где 3 вставляйте id групп пользователей которые могут видеть все сообщения таким же образом через запятую
Код:
<xen:if is="in_array({$forum.node_id}, array(3))">
Где 3 вставляйте id форума которых будут отображенны темы гостям таким же образом через запятую

Таким же макаром можно и последние сообщения скрыть
Хоть и немного
Шаблон - node_forum_level_2
Код:
<div class="nodeLastPost secondaryContent">
            <xen:if is="{$forum.privateInfo}">
                <span class="noMessages muted">({xen:phrase private})</span>
            <xen:elseif is="{$forum.lastPost.date}" />
                <span class="lastThreadTitle"><span>{xen:phrase latest}:</span>
                    <a href="{xen:link posts, $forum.lastPost}" title="{$forum.lastPost.title}">{$forum.lastPost.title}</a>  
                </span>
                <span class="lastThreadMeta">
                    <span class="lastThreadUser"><xen:if is="{xen:helper isIgnored, $forum.last_post_user_id}">{xen:phrase ignored_member}<xen:else /><xen:username user="$forum.lastPost" /></xen:if>,</span>
                    <xen:datetime time="$forum.lastPost.date" class="muted lastThreadDate" data-latest="{xen:phrase latest}: " />
                </span>
            <xen:else />
                <span class="noMessages muted">({xen:phrase contains_no_messages})</span>
            </xen:if>
        </div>
Заменить на
Код:
<div class="nodeLastPost secondaryContent">
            <xen:if is="{$forum.privateInfo}">
                <span class="noMessages muted">({xen:phrase private})</span>
            <xen:elseif is="{$forum.lastPost.date}" />
                <span class="lastThreadTitle"><span>{xen:phrase latest}:</span>
                    <xen:if is="{xen:helper ismemberof, $visitor, 4,3,6}">
                    <a href="{xen:link posts, $forum.lastPost}" title="{$forum.lastPost.title}">{$forum.lastPost.title}</a>  
                </xen:if>
                </span>
                <span class="lastThreadMeta">
                    <span class="lastThreadUser"><xen:if is="{xen:helper isIgnored, $forum.last_post_user_id}">{xen:phrase ignored_member}<xen:else /><xen:username user="$forum.lastPost" /></xen:if>,</span>
                    <xen:datetime time="$forum.lastPost.date" class="muted lastThreadDate" data-latest="{xen:phrase latest}: " />
                </span>
            <xen:else />
                <span class="noMessages muted">({xen:phrase contains_no_messages})</span>
            </xen:if>
        </div>
Код:
<xen:if is="{xen:helper ismemberof, $visitor, 4,3,6}">
где 4,3,6 группы которые могут видеть .
upload_2015-1-23_20-22-3.png
 
Последнее редактирование:
Telia ., Очередная проблемка. В прописанных разделах для групп пользователей которые видят в любом случае темы начинают двоиться :(

А исключением нельзя? Чтоб указать где НЕ должны видеть? :) Просто много очень разделов.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу