Форум русской поддержки Joomla!® CMS
17.08.2017, 10:08:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Основной курс по Joomla
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Как спрятать часть информации на сайте через файл?

 (Прочитано 427 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 364



« : 19.07.2017, 11:33:51 »

Доброго времени,
суть такая: Компонент выводит информацию на сайте, картинку, тексты и т.д.
требуется что бы часть данной информации была скрыта от определенных групп пользователей.
но скрыть ее надо в самом файле шаблона от компонента
опробовал такие варианты:
Показать текстовый блок
плагины! но когда прописываю их в код шаблона, то они просто выводятся в тексте шаблона и не срабатывают, не скрываю часть информации.

Может кто знает как можно решить данное?!
Спасибо.
Записан
lgmax
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 116


« Ответ #1 : 19.07.2017, 11:38:27 »

<?php
$user =& JFactory::getUser();
  if($user->get('guest') == 1) : ?>
   Инфа для гостей
<?php endif; ?>

<?php
$user =& JFactory::getUser();
  if($user->get('guest') == 0) : ?>
   Инфа для пользователей
<?php endif; ?>
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 364



« Ответ #2 : 19.07.2017, 11:41:45 »

Шикарное решение!
я так понимаю что бы мне спрятать информацию от других групп?!
надо просто указать название группы вместо guest?
Записан
lgmax
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 116


« Ответ #3 : 19.07.2017, 11:49:04 »

1-й вариант показывает инфу всем, кто не зарегистрирован.
2-й вариант показывает инфу всем, кроме гостей.

Ну и путем подстановки групп можно делать под себя.
Записан
NewUsers
Завсегдатай
*****

Репутация: +45/-0
Offline Offline

Пол: Мужской
Сообщений: 586


« Ответ #4 : 19.07.2017, 11:56:45 »

1-й вариант показывает инфу всем, кто не зарегистрирован.
2-й вариант показывает инфу всем, кроме гостей.

Ну и путем подстановки групп можно делать под себя.

А ты уверен? Вообще переменная $user содержит все что относится к текущему пользователю. Группы пользователей здесь причем?
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 364



« Ответ #5 : 19.07.2017, 12:05:46 »

А ты уверен? Вообще переменная $user содержит все что относится к текущему пользователю. Группы пользователей здесь причем?

Так как будет правильно?!
Записан
lgmax
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 116


« Ответ #6 : 19.07.2017, 12:06:50 »

Ну притом, что код проверят к какой группе пользователей ты принадлежишь и показывает или нет информацию соответственно.
Записан
NewUsers
Завсегдатай
*****

Репутация: +45/-0
Offline Offline

Пол: Мужской
Сообщений: 586


« Ответ #7 : 19.07.2017, 12:16:28 »

Так как будет правильно?!

Очень сомневаюсь!

Лучше добавить новый параметр в настройки пункта меню что бы определять какие группы имеют доступ
Записан
lgmax
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 116


« Ответ #8 : 19.07.2017, 12:27:07 »

требуется что бы часть данной информации была скрыта от определенных групп пользователей.
но скрыть ее надо в самом файле шаблона от компонента

Ну и причем тут вообще пункт меню? Не вводите людей в заблуждение!
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 364



« Ответ #9 : 19.07.2017, 12:31:29 »

Мне не нужны пункты меню и т.д.
Требуется что бы я в файле мог спрятать определенную часть информации!
и отобразить ее только для определенной группы пользователей!
Записан
dmitry_stas
Профи
********

Репутация: +935/-6
Online Online

Сообщений: 9957



« Ответ #10 : 19.07.2017, 12:32:53 »

Ну и путем подстановки групп можно делать под себя.
что имеется в виду? поясните пожалуйста. потому что я тоже не вижу, как без настройки доступа (например в пункте меню, как сказал NewUsers) сделать разделение по группам. ваш пример определяет только гостя и зарегистрированного пользователя, и никак не относится к группам.
Записан
lexxbry
Давно я тут
****

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 269



« Ответ #11 : 19.07.2017, 12:35:59 »

а зачем в пункте меню это все делать...
доступы можно в самом материале выставить
Записан
dmitry_stas
Профи
********

Репутация: +935/-6
Online Online

Сообщений: 9957



« Ответ #12 : 19.07.2017, 12:37:58 »

доступы можно в самом материале выставить
в каком материале, если речь о разграничении в шаблоне компонента?

Мне не нужны пункты меню и т.д.
Требуется что бы я в файле мог спрятать определенную часть информации!
и отобразить ее только для определенной группы пользователей!
узнать группы текущего пользователя можно так
Код:
JFactory::getUser()->groups
это будет массив id групп. с чем сравнивать вы их будете - вопрос отдельный. если делаете это для себя, то можно прямо в файле. если для паблика - то нужна настройка.
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 364



« Ответ #13 : 19.07.2017, 12:40:15 »

Вот:
у меня есть созданная группа пользователей:  http://c2n.me/3MfEaPQ
мне надо что бы часть информации на сайте отображалась только данной группе!
я использовал код который выше: http://c2n.me/3MfELxp
что бы данная информация отображалась исключительно для указанной группы
но, увы (((

а идеальный вариант, если я смогу в коде указывать несколько групп....
Записан
dmitry_stas
Профи
********

Репутация: +935/-6
Online Online

Сообщений: 9957



« Ответ #14 : 19.07.2017, 12:42:58 »

так я вам сказал уже решение, нового по сути и нечего сказать. получите массив id групп текущего пользователя
Код:
JFactory::getUser()->groups
далее проверьте, есть ли id нужных вам групп в этом массиве, и решите, показывать или нет.
Записан
lgmax
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 116


« Ответ #15 : 19.07.2017, 12:43:12 »

<?php
$user =& JFactory::getUser();
  if($user->get('business') == 1) : ?>
   Инфа для пользователей группы бизнес
<?php endif; ?>

Разве так не работает?
Записан
dmitry_stas
Профи
********

Репутация: +935/-6
Online Online

Сообщений: 9957



« Ответ #16 : 19.07.2017, 12:45:35 »

Разве так не работает?
нет
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 364



« Ответ #17 : 19.07.2017, 12:48:19 »

<?php
$user =& JFactory::getUser();
  if($user->get('business') == 1) : ?>
   Инфа для пользователей группы бизнес
<?php endif; ?>

Разве так не работает?

скрывает но не от группы а от всех!
Записан
lgmax
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 116


« Ответ #18 : 19.07.2017, 12:57:00 »

Блин, точно.)))) Ну тогда так

<?php if (!JFactory::getUser()->business): ?>
Инфа для бизнес
<?php endif; ?>
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 364



« Ответ #19 : 19.07.2017, 13:01:42 »

Блин, точно.)))) Ну тогда так

<?php if (!JFactory::getUser()->business): ?>
Инфа для бизнес
<?php endif; ?>

а теперь показывает всем, на изменение группы ни как не реагирует (((
Записан
lgmax
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 116


« Ответ #20 : 19.07.2017, 13:04:38 »

Бляха)))) что-то запутался я)
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 364



« Ответ #21 : 19.07.2017, 13:14:54 »

Повторяюсь:
мне надо что бы я мог в файле указать, какая часть информации будет доступна определенной группе или группам
для остальных, эта информация должна быть скрыта!
Записан
robert
Профи
********

Репутация: +385/-15
Offline Offline

Пол: Мужской
Сообщений: 4217


« Ответ #22 : 19.07.2017, 13:28:32 »

Вам же дали решение
так я вам сказал уже решение, нового по сути и нечего сказать. получите массив id групп текущего пользователя
Код:
JFactory::getUser()->groups
далее проверьте, есть ли id нужных вам групп в этом массиве, и решите, показывать или нет.
Зачем вы тут продолжаете выдумывать?
Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 364



« Ответ #23 : 19.07.2017, 13:36:20 »

Вам же дали решение Зачем вы тут продолжаете выдумывать?

все предлагаемые решения пробую сразу.... пока не помогло...

то что предложили
" JFactory::getUser()->groups "

как такое должно выглядеть целиком?
я не силен в php
Записан
robert
Профи
********

Репутация: +385/-15
Offline Offline

Пол: Мужской
Сообщений: 4217


« Ответ #24 : 19.07.2017, 13:40:19 »

все предлагаемые решения пробую сразу.... пока не помогло...
Показать текстовый блок
Код
$restricted_groups = array(0, 1, 2, 3, 4,...);//IDs разрешенных групп
$all_groups = JFactory::getUser()->groups;
if (!empty(array_intersect($restricted_groups, $all_groups))) {
Показываем...
}
 
« Последнее редактирование: 19.07.2017, 13:57:35 от robert » Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 364



« Ответ #25 : 19.07.2017, 14:09:00 »

Код:
$restricted_groups = array(0, 1, 2, 3, 4,...);//IDs разрешенных групп
$all_groups = JFactory::getUser()->groups;
if (!empty(array_intersect($restricted_groups, $all_groups))) {
Показываем...
}

не подскажите, как это вставить, что бы скрыть данный код: http://c2n.me/3MfTCC0

P.S. разобрался, этот вариант работает! Супер! Всем огромное спасибо!
« Последнее редактирование: 19.07.2017, 19:07:46 от Bowa » Записан
Bowa
Давно я тут
****

Репутация: +5/-0
Offline Offline

Сообщений: 364



« Ответ #26 : 19.07.2017, 19:34:52 »

Еще такой вопрос: можно ли к этому коду

Код:
$restricted_groups = array(0, 1, 2, 3, 4,...);//IDs разрешенных групп
$all_groups = JFactory::getUser()->groups;
if (!empty(array_intersect($restricted_groups, $all_groups))) {
Показываем...
}

 как-то добавить div со стилем?!

Скажем если пользователь не входит в группу показа то ему будет отображаться информация в особом виде...
Записан
dmitry_stas
Профи
********

Репутация: +935/-6
Online Online

Сообщений: 9957



« Ответ #27 : 19.07.2017, 20:49:08 »

Код
$restricted_groups = array(0, 1, 2, 3, 4,...);//IDs разрешенных групп
$all_groups = JFactory::getUser()->groups;
if (!empty(array_intersect($restricted_groups, $all_groups))) {
Показываем...
} else {
Информация в особом виде...
}
 
Записан
lgmax
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 116


« Ответ #28 : 20.07.2017, 15:49:24 »

А кто знает, как вывести название группы пользователей K2. Чтобы было "Ваша группа: Бизнес"?
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet