RSS   Twitter   Copiny   Copiny
Нашел ошибку? 

Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!

Как показать модуль только не зарегистрированным пользователям?

В месте, где вставляется модуль (например, модуль будет из позиции user1) обыкновенную вставку

<jdoc:include type="modules" name="user1" />

Заменить на

<?php
    $user = JFactory::getUser();
    if (!$user->guest) { ?>
        <jdoc:include type="modules" name="user1" />
    <?php }
?>

Смотрите также:
Комментарии (8) Добавить комментарий
  • Андрей
    Андрей
    19 Февраля 2011, 16:09
     ↑  0  ↓     ответ

    Я делаю сайт на joomla 1.6, причем в основу лег шаблон от JoomlArt (Community plus). Там все очень не стандартно... Помогите пожалуйста разобраться, в каком файле мне искать то что описано в этой статье, и в какой директории? Или вообще в базе данных?

    • smet.denis
      smet.denis (админ)
      19 Февраля 2011, 16:17
       ↑  0  ↓     ответ

      То что описано в статье применимо внутри файлов index.php (внутри шаблона), например для темы "atomic" из joomla 1.6.x файл будет лежать тут "/templates/atomic/index.php".

      Но если есть возможность, то лучше в настройках модуля выставить видимость только для авторизованных пользователей. Множество различных настроек можно получить установив компонент Advanced module manager. Очень спасает для Joomla 1.5.x

  • Андрей
    Андрей
    19 Февраля 2011, 16:59
     ↑  0  ↓     ответ

    Понимаете в чем дело, я делаю сайт сообщества и мне нужно чтобы неавторизованным пользователям показывалась одна информация, а авторизованным совсем другая, как это реализованно на facebook или vkontakte. Тоесть в первые попавшие видят информацию о проекте, а зарегистрированные пользователи страницу своего профиля. Как это лучше реализовать? Поспрашивал по форумам - никто ничего внятного сказать не может. Ваша идея (если гость - то так) мне показалась самой приемлемой, простой и гениальной.

    • smet.denis
      smet.denis (админ)
      19 Февраля 2011, 17:51
       ↑  0  ↓     ответ

      Тогда думаю это точно пригодиться, правда не знаю как там с поддержкой J1.6. Руки еще не дошли, не проверял.

      nonumber.nl/extensions/advancedmodulemanager

    • admiral
      admiral
      13 Сентября 2011, 20:04
       ↑  0  ↓     ответ

      Вот вам правильный подход с поля боя, ваш метод не работает на седьмой ветке джумлы.

      <?php

      $user =& JFactory::getUser();

      if ($user->guest) { ?>

      <jdoc:include type="modules" name="login11" />

      <?php } else {}

      ?>

      • firendy
        firendy
        19 Декабря 2011, 18:28
         ↑  0  ↓     ответ

        Был аналогичный вопрос - как показывать разные модули разным пользователям, ваш способ помог (J1.7), спасибо. Только блоки шаблона от этого расползлись, left, к примеру, расположился внизу. Может, есть у кого-нибудь идеи, как с этим бороться?

        • Владимир
          Владимир
          19 Декабря 2011, 18:32
           ↑  0  ↓     ответ

          Верстка летит, данная проблема не вписывается в программную часть.

          Учите css.

  • Алексей
    Алексей
    20 Июня 2012, 12:05
     ↑  0  ↓     ответ

    Есть более элегантное решение: goldensites.su/articles-joomla-16/kak-skryt-kontent-i-moduli-ot-zaregistrirovannyx-polzovatelej

Оставить комментарий




* обязательно для заполнения

1 введенный почтовый адрес используется только для обратной связи при ответах в комментариях и сервиса gravatar.com
.