Иконка ресурса

Условия переменных в шаблонах XenForo 2

К чему писалось все?
104525
 
Captain, действительно к чему я писал? Надо что бы все видели, а не только группа Х как описано в мануале. Надо если пользователь в группе Х, то текст видят все.

PS. Не правильно выразился. Надо, что бы видели банер все.
 
Последнее редактирование:
$user все подставит на местах пример посты.
 
Последнее редактирование:
Captain, я согласен, если программист, то никаких сложностей. Мой уровень - повторить по мануалу и когда наберусь смелости, то могу сделать шаг в лево или в право. И то шаги эти не всегда удачные.

Будьте добры разъясните подробнее как это сделать?
 
$переменнаяУзера.isMemberOf()
В вашем случае вместо переменнаяУзера скорее всего будет user
 
Garri83, есть шаблон например, message_macros. В нем идут условия и вывод из таблицы:
Код:
<xf:if is="$user.user_id">
            <xf:set var="$extras" value="{{ property('messageUserElements') }}" />
            <xf:if contentcheck="true">
                <div class="message-userExtras">
                <xf:contentcheck>
                    <xf:if is="$extras.register_date">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('joined') }}</dt>
                            <dd>{{ date($user.register_date) }}</dd>
                        </dl>
                    </xf:if>
                    <xf:if is="$extras.message_count">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('messages') }}</dt>
                            <dd>{$user.message_count|number}</dd>
                        </dl>
                    </xf:if>
                    <xf:if is="$extras.reaction_score">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('reaction_score') }}</dt>
                            <dd>{$user.reaction_score|number}</dd>
                        </dl>
                    </xf:if>
                    <xf:if is="$extras.trophy_points && $xf.options.enableTrophies">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('points') }}</dt>
                            <dd>{$user.trophy_points|number}</dd>
                        </dl>
                    </xf:if>
                    <xf:if is="$extras.age && $user.Profile.age">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('age') }}</dt>
                            <dd>{$user.Profile.age}</dd>
                        </dl>
                    </xf:if>
                    <xf:if is="$extras.location && $user.Profile.location">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('location') }}</dt>
                            <dd>
                                <xf:if is="$xf.options.geoLocationUrl">
                                    <a href="{{ link('misc/location-info', '', {'location': $user.Profile.location}) }}" rel="nofollow noreferrer" target="_blank" class="u-concealed">{$user.Profile.location}</a>
                                <xf:else />
                                    {$user.Profile.location}
                                </xf:if>
                            </dd>
                        </dl>
                    </xf:if>
                    <xf:if is="$extras.website && $user.Profile.website">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('website') }}</dt>
                            <dd><a href="{$user.Profile.website}" rel="nofollow" target="_blank">{$user.Profile.website|url('host', phrase('visit_site'))}</a></dd>
                        </dl>
                    </xf:if>
                    <xf:if is="$extras.custom_fields">
                        <xf:macro template="custom_fields_macros" name="custom_fields_values"
                            arg-type="users"
                            arg-group="personal"
                            arg-set="{$user.Profile.custom_fields}"
                            arg-additionalFilters="{{ ['message'] }}"
                            arg-valueClass="pairs pairs--justified" />
                        <xf:if is="$user.canViewIdentities()">
                            <xf:macro template="custom_fields_macros" name="custom_fields_view"
                                arg-type="users"
                                arg-group="contact"
                                arg-set="{$user.Profile.custom_fields}"
                                arg-additionalFilters="{{ ['message'] }}"
                                arg-valueClass="pairs pairs--justified" />
                        </xf:if>
                    </xf:if>
                </xf:contentcheck>
                </div>
            </xf:if>
Т.е это отвечает за вывод в теме сообщения данных. И все это обрабатывает переменная $user. Которая получает объект текущего пользователя. $xf.visitor - посетителя. И просто подставить $user для вывода у него данных если он в такой то группе.
 
Последнее редактирование:
Что-то пока туплю. В шаблон например, message_macros есть:
<xf:userbanners user="$user" tag="div" class="message-userBanner" itemprop="jobTitle" />
Это отвечает за вывод банеров пользователей. Вот под ним хочу вывести доп. текст, который видят все если пользователь в Х группе. Но пока не вкурю как.
 
та ёмаё
HTML:
<xf:if is="$user.isMemberOf(X)">
    шото там
</xf:if>
 
West14, это не то. Так видят пользователи только из Х группы. А надо, что бы видели все, если пользователь находиться в Х группе.

Garri83, а может нет 8) Сейчас попробую.
 
Garri83, вы всмотритесь в код.
$user в данном контексте - пользователь.
$xf.visitor - посетитель.
Чувствуете разницу?
 
  • Мне нравится
Реакции: Hope
West14, спасибо так работает!

Так потихоньку познается движок. ☺
 
Прошу помощи. Тему ещё раз перечитал, решения не увидел, либо пропустил.
Необходимо запретить показ рекламы Google Adsense в определённой категории categories/210/, во всех форумах и темах входящих в эту категорию. При том, что бы реклама на главной, в других категориях, форумах и темах отображалась.
Убрал из PAGE_CONTAINER код Google Adsense
Затем отключил показ рекламы в категории \210
category_view
Код:
<xf:if is="$category.node_id != 210">
код Google Adsense
</xf:if>
Затем отключил форумы входящие в эту категорию:
forum_view
Код:
<xf:if is="!in_array({$forum.node_id}, [224,221,212])">
код Google Adsense
</xf:if>
но чувствую что начинаю расставлять костыли и наверняка есть решение проще, есть?)
Подскажите как правильнее поступить.
 
Последнее редактирование:
А зачем убрали, а попробовать работу кода в - PAGE_CONTAINER, тем самым отключив паказ в категории.
 
  • Мне нравится
Реакции: Hope
А зачем убрали, а попробовать работу кода в - PAGE_CONTAINER, тем самым отключив паказ в категории.
Отключаю модификации в category_view и forum_view
Прописываю в PAGE_CONTAINER
Код:
<head>
<xf:if is="$category.node_id != 210">
код Google Adsense
</xf:if>
Реклама лезет везде где надо, в том числе и 210 категории (где не надо).
С работающими модификациями в category_view , forum_view и кодом в PAGE_CONTAINER так же реклама присутствует везде.
 
Здравствуйте, как скрыть виджет от пользователей ?
 
Здравствуйте, как скрыть виджет от пользователей ?

Если ото всех пользователей, то удалить в разделе «Виджеты» нужный виджет.

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