Новости Joomla

Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные...

Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные плагины в Joomla срабатывают всегда, но большое их количество может негативно сказаться на скорости работы Приложения. А во-вторых ошибка в системном плагине, добавляющем кнопку в тулбар может обрушить механизм регистрации / авторизации пользователя. Поэтому для лучшего быстродействия и надёжности работы системы плагины в Joomla разделены на группы. Каждая группа срабатывает только в определённом месте и в определённый момент времени. Небольшой пост-шпаргалка для Joomla-разработчиков от участника нашего сообщества Виталия Некрасова (@vitalik_a) подскажет как в своём коде сделать то, что написано в заголовке поста 😎Читать пост на Хабре#joomla #php #разработка #webdev

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3.0Модуль позволяет создавать быстрые наборы элементов: ссылки на различные сущности на сайте Joomla: категории материалов, Virtuemart, JoomShopping, пункт меню или пользовательскую ссылку. Есть условия для исключений показа элементов списка.Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео. Также это могут быть не только ссылки, но и список вопросов FAQ, элементы Bootstrap Tabs, Accordion и т.д.v.2.3.0 Что нового?- Собственные макеты для ссылокТеперь для каждой ссылки можно указать собственный макет из папки

/tmpl/sublayout/. Для использования модуля в этом режиме, необходимо выбрать макет модуля -
default-sublayouts или создать собственный вариант этого макета. - Обработка плагинами контентаСодержимое поля Дополнительный текст для ссылки теперь обрабатывается плагинами контента.- Поле примечанияДобавлено поле примечания для ссылки. Это удобно ориентации в большой форме.- Рефакторинг кодаПроведена чистка и улучшения кода.
Страница расширенияGitHub#расширения #virtuemart #JoomShopping

0 Пользователей и 1 Гость просматривают эту тему.
  • 14 Ответов
  • 2454 Просмотров
*

meatrich

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Здравствуйте!

Нужно, чтобы для пользователя, принадлежащего к определенной группе на странице ссылка скрывалась, для всех остальных групп пользователей - отображалсаь.

Пробовал разные варианты методом тыка:

остановился на этом, но ссылка всегда скрыта. Пожалуйста, помогите разобраться.

Код: css
.hidebutton {
    display: none;
}

Код: php
<div class="<?php $user = JFactory::getUser();
if($user->groups = Х) {
echo "hidebutton";
} else {
echo "";
}
?>"><a href="#">link</a></div>

где "Х" - id группы пользователя


Благодарю!
*

SmokerMan

  • Гуру
  • 5291
  • 720 / 26
Re: Проверка группы пользователя
« Ответ #1 : 01.06.2016, 12:42:14 »
Цитировать
                $user = JFactory::getUser();
                if (in_array('id гурппы', $user->groups)) {
                    //пользователь в группе
                }
*

meatrich

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: Проверка группы пользователя
« Ответ #2 : 01.06.2016, 13:35:24 »


Благодарю! Вроде бы работает. Буду проверять дальше! Крепкого Вам здоровья!
*

meatrich

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: Проверка группы пользователя
« Ответ #3 : 01.06.2016, 21:53:18 »

Пожалуйста, можно еще вопрос:

Как я могу указать вместо номера id группы указать его переменный параметр?

Я пробовал несколько вариантов, но либо функция не работает, либо белый экран. Пожалуйста, посмотрите, что я делаю не так:

Код: php
<?php $user = JFactory::getUser();if (in_array(echo $field->value[0], $user->groups)) {echo 'text1';} else {echo 'text2';} ?>

где $field->value[0] - id группы

Благодарю!
« Последнее редактирование: 01.06.2016, 22:21:39 от meatrich »
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Проверка группы пользователя
« Ответ #4 : 02.06.2016, 00:16:27 »
Благодарю!
Вот старый код давно написал юзаю если надо.
Код
$user_id = JFactory::getUser()->id;
$user = JFactory::getUser($user_id);
$access_levels = JAccess::getAuthorisedViewLevels($user_id);
$user_groups = $user->get('groups');
if ($user()->guest) {$user_guest = true;}
if (in_array(10, $user_groups)) {$user_author = true;}
if (in_array(6, $access_levels)) {$user_admin = true;}

А под ваши нужды
Код
$user_id = JFactory::getUser()->id;
$user = JFactory::getUser($user_id);
$user_groups = $user->get('groups');
$check_gorup =  $field->value[0]; // ID необходимой группы
if (in_array($check_gorup, $user_groups)) {$user_basic = true;}

Ошибка у вас в лишнее echo  должно быть так
Код
<?php
$user = JFactory::getUser();
if (in_array($field->value[0], $user->groups)) {echo 'text1';}
else {echo 'text2';}
?>
Пользуйтесь нормальный редактором с подсветкой и проверкой и таких проблем не будет
« Последнее редактирование: 02.06.2016, 00:21:56 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Проверка группы пользователя
« Ответ #5 : 02.06.2016, 01:07:26 »
Код
$user_id = JFactory::getUser()->id;
$user = JFactory::getUser($user_id);
« Последнее редактирование: 02.06.2016, 01:32:23 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

meatrich

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: Проверка группы пользователя
« Ответ #6 : 02.06.2016, 09:36:04 »


Здравствуйте robert!

Пожалуйста, объясните, что здесь не так?
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Re: Проверка группы пользователя
« Ответ #7 : 02.06.2016, 09:37:51 »
Здравствуйте robert!

Пожалуйста, объясните, что здесь не так?
Код: php
$user_id = JFactory::getUser()->id;
$user = JFactory::getUser($user_id);
=
Код: php
$user = JFactory::getUser();
*

meatrich

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: Проверка группы пользователя
« Ответ #8 : 02.06.2016, 10:01:36 »
Код: php
$user_id = JFactory::getUser()->id;
$user = JFactory::getUser($user_id);
=
Код: php
$user = JFactory::getUser();

Понял. Спасибо!
*

meatrich

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: Проверка группы пользователя
« Ответ #9 : 02.06.2016, 10:09:04 »

А под ваши нужды
Код
$user_id = JFactory::getUser()->id;
$user = JFactory::getUser($user_id);
$user_groups = $user->get('groups');
$check_gorup =  $field->value[0]; // ID необходимой группы
if (in_array($check_gorup, $user_groups)) {$user_basic = true;}

Ошибка у вас в лишнее echo  должно быть так
Код
<?php
$user = JFactory::getUser();
if (in_array($field->value[0], $user->groups)) {echo 'text1';}
else {echo 'text2';}
?>
Пользуйтесь нормальный редактором с подсветкой и проверкой и таких проблем не будет

Спасибо за ответ и помощь!

вот это у меня работает:
Код
<?php
$user = JFactory::getUser();
if (in_array($field->value[0], $user->groups)) {echo 'text1';}
else {echo 'text2';}
?>
Скажите, разве мне этого недостаточно? Обязательно ли нужен следующий код?

Вот этот:
Код
$user_id = JFactory::getUser()->id;
$user = JFactory::getUser($user_id);
$user_groups = $user->get('groups');
$check_gorup =  $field->value[0]; // ID необходимой группы
if (in_array($check_gorup, $user_groups)) {$user_basic = true;}

Id группы я устанавливаю в определенном поле для каждого случая (каждой страницы). Если я состою в нескольких группах, то код:
Код
<?php
$user = JFactory::getUser();
if (in_array($field->value[0], $user->groups)) {echo 'text1';}
else {echo 'text2';}
?>
работает исправно.

Нужна ли еще какая-либо проверка?
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Проверка группы пользователя
« Ответ #10 : 02.06.2016, 10:36:22 »
Нужна ли еще какая-либо проверка?
Если работает то не нужна.

И правда видать из проверки конкретного юзера остался, а может просто тупанул
« Последнее редактирование: 02.06.2016, 11:36:16 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

meatrich

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: Проверка группы пользователя
« Ответ #11 : 02.06.2016, 10:46:10 »
Если работает то не нужна.

Благодарю!
*

Ishti39

  • Захожу иногда
  • 152
  • 8 / 1
Re: Проверка группы пользователя
« Ответ #12 : 11.08.2017, 10:24:26 »

Скажите, если несколько групп, то id как писать, через запятую?
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Проверка группы пользователя
« Ответ #13 : 11.08.2017, 10:30:21 »
Скажите, если несколько групп, то id как писать, через запятую?
http://php.net/manual/ru/function.array-intersect.php
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Ishti39

  • Захожу иногда
  • 152
  • 8 / 1
Re: Проверка группы пользователя
« Ответ #14 : 11.08.2017, 11:06:09 »
http://php.net/manual/ru/function.array-intersect.php
Я в рнр не сильно понимаю, особенно как написать массивы, я этот код вставил:
Спойлер
[свернуть]
вместо id гурппы вставил 10, это id группы, а как ещё добавить 7 и 8 ID групп?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пароль Пользователя

Автор Олег5

Ответов: 3
Просмотров: 431
Последний ответ 14.02.2025, 10:41:20
от fbr
Я создал пользователя Author, но он не может зайти в редактирование

Автор Olegus79

Ответов: 7
Просмотров: 805
Последний ответ 19.10.2023, 20:48:52
от Vastriet
Сохранение авторизации пользователя при переходе на поддомен

Автор denism300

Ответов: 2
Просмотров: 613
Последний ответ 14.11.2022, 11:35:14
от denism300
Проверка наличия пользователя на сайте

Автор Robert24

Ответов: 6
Просмотров: 496
Последний ответ 15.10.2022, 14:40:51
от marksetter
Не выполняется проверка решений reCAPTCHA

Автор Scaltro

Ответов: 1
Просмотров: 861
Последний ответ 07.07.2022, 22:26:59
от ProtectYourSite