Спрятать виджет от гостей

Chigra

Проверенные
Сообщения
371
Решения
1
Реакции
204
Баллы
1,755
Доброе утро. Подскажите пожалуйста, есть-ли возможность спрятать виджеты от пользователей, не прошедших регистрацию?
Не хотелось бы, чтобы эти пользователи смогли видеть посетителей форума, тех, у кго ДР и тд.
 
Добавил в шаблон "widget_members_online" следующие строки:
Код:
<xf:widget key="widget_key" />
<xf:if is="{$xf.visitor.user_id}">
Этот текст видят только зарегистрированные пользователи
</xf:if>
после чего данный виджет от гостей спрятался, но появидась следующая ошибка:
Код:
InvalidArgumentException: Template public:widget_members_online error: No widget defined with a widget_key of widget_key src/XF/SubContainer/Widget.php:89
Сгенерирована пользователем: Неизвестная учётная запись 3 Ноя 2017 в 09:58
Трассировка стека
#0 src/XF/Container.php(228): XF\SubContainer\Widget->XF\SubContainer\{closure}('widget_key', Array, Object(XF\Container))
#1 src/XF/SubContainer/Widget.php(146): XF\Container->create('widget', 'widget_key', Array)
#2 src/XF/Template/Templater.php(1451): XF\SubContainer\Widget->widget('widget_key', Array)
#3 internal_data/code_cache/templates/l2/s1/public/widget_members_online.php(6): XF\Template\Templater->renderWidget('widget_key', Array, Array)
#4 src/XF/Template/Templater.php(1167): XF\Template\Templater->{closure}(Object(XF\Template\Templater), Array)
#5 src/XF/Widget/WidgetRenderer.php(62): XF\Template\Templater->renderTemplate('widget_members_...', Array)
#6 src/XF/Widget/WidgetRenderer.php(67): XF\Widget\WidgetRenderer->render()
#7 src/XF/Template/Templater.php(1443): XF\Widget\WidgetRenderer->__toString()
#8 internal_data/code_cache/templates/l2/s1/public/forum_list.php(206): XF\Template\Templater->widgetPosition('forum_list_side...', Array)
#9 src/XF/Template/Templater.php(1167): XF\Template\Templater->{closure}(Object(XF\Template\Templater), Array)
#10 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('forum_list', Array)
#11 src/XF/Mvc/Renderer/Html.php(48): XF\Template\Template->render()
#12 src/XF/Mvc/Dispatcher.php(332): XF\Mvc\Renderer\Html->renderView('XF:Forum\\Listin...', 'public:forum_li...', Array)
#13 src/XF/Mvc/Dispatcher.php(303): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#14 src/XF/Mvc/Dispatcher.php(44): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#15 src/XF/App.php(1844): XF\Mvc\Dispatcher->run()
#16 src/XF.php(328): XF\App->run()
#17 index.php(13): XF::runApp('XF\\Pub\\App')
#18 {main}
Содержимое запроса
array(4) {
  ["url"] => string(10) "/index.php"
  ["referrer"] => bool(false)
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
Подозреваю, что сделал что-то не так. но не подозреваю что именно :nomouth:
 
Прям так и прописали? )))
widget_key - может замените на ключ виджета? И саму строку с выводом виджета нужно вставить туда, где написано, что этот текст видят только зарегистрированные
 
Плохо, что я совсем не понимаю, что такое строка вывода виджета :(
Укажите мне пожалуйста, где она здесь? :(

Код:
<xf:if is="$users is not empty">
    <div class="block"{{ widget_data($widget) }}>
        <div class="block-container">
            <h3 class="block-minorHeader">{$title}</h3>
            <div class="block-body block-row">
                <ul class="listHeap">
                    <xf:foreach loop="$users" value="$user">
                        <li>
                            <xf:avatar user="$user" size="s" img="true" />
                        </li>
                    </xf:foreach>
                </ul>
            </div>
        </div>
    </div>
</xf:if>
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу