Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

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

UFO_hA

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Добрый день уважаемые форумчане.

Есть у меня сайт(Joomla 3.4.8. Шаблон Protostar). На сайте есть некоторые статьи которые можно скачать архивом(PDF). Никаких плагинов для этого я не устанавливал. Разве что Sourcerer. В общем в конце статья я просто добавил кнопку “Скачать”(используя плагин Sourcerer). Но я хотел бы сделать так что бы при нажатии на кнопку зарегистрированным пользователем сразу начиналась загрузка, а при нажатии незарегистрированным пользователем всплывало окно(как вариант) с текстом типа “Данный материал доступен для загрузки только зарегистрированным пользователям+ссылка на форму регистрации”.
Я так понимаю что можно в конце каждой статьи добавить две кнопки. Но зарегистрированные юзеры будут видеть первую и не видеть вторую, а не зарегистрированные наоборот.
Что посоветуете?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Если вы используете Sourcerer, то вы, должно быть, знаете PHP. В таком случае ничего сложно нет:
1. даем файлу такое же название, как алиас статьи,
2. в шаблоне добавляем код
Код: php-brief
if(file_exists(название.формат)){
   $user=JFactory::getUser();
   if($user->guest){
      показываем_кнопку_2;//можно организовать перенаправление назад после авторизации
   }else{
      показываем_кнопку_1;//скачаем файл
   }
}
Не будь паразитом, сделай что-нибудь самостоятельно!
*

UFO_hA

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Ну в PHP я не мастер, так самоучка. Да и стаж меньше года. Занимаюсь вместо хобби. Если вам интересно вот мой сайт  ufoha.in.ua
По поводу кода не понял. Его в index.php шаблона нужно добавлять? Если так то выходит это для каждой статьи необходимо делать. Я думал есть какой то тег для этих целей. Вот помню как в Joomla 1.5 можно было прятать или показывать тот или иной текст пользователем разного уровня доступа.
{super}текст{/super},{pub}текст{/pub} и т.д.

И огромное ВАМ спасибо за внимание!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
это в материале нужно делать. вы же написали, что установили Sourcerer, вот вам и сказали php код для добавления в материал.
а то, о чем вы пишите - это плагин Hider. не знаю, есть ли он под Ж3, можете поискать его или аналог. но в принципе Sourcerer с головой
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
самый простой вариант:в div обернуть скрытие и в CSS "послать" этот div.
типа дисплей:ноне.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну его ж в зависимости от условия надо "послать". вот robert и написал условие
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

UFO_hA

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Я потихоньку начиная запутываться. Виной тому скудные знания PHP/
Вот что я примерно вижу.
Код
{source}
if(file_exists(название.формат)){
  $user=JFactory::getUser();
  if($user->guest){
    <a  target="_blank" 
 class="btn btn-primary" href="Ссылка на форму регистрации">Скачать</a>
  }
else{
    <a  target="_blank" 
 class="btn btn-primary" href="ссылка на файл">Скачать</a>
  }
}

{/source}
Я как бы понимаю что это работать не будет. И скорее всего из за неправильно прикрученного условия.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
это в материале нужно делать.
Точнее - в шаблоне материала. Sourcerer будет не нужен. название.формат = что-то вроде $this->item->slug.'.pdf'. Это только подсказка, сами найдете правильное решение.
« Последнее редактирование: 11.01.2016, 23:43:00 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Я как бы понимаю что это работать не будет. И скорее всего из за неправильно прикрученного условия.
это не будет работать, потому что вы мух от котлет не отделили. php и HTML - все смешано.
Код
{source}
<?php
if(JFactory::getUser()->guest){
    echo '<a target="_blank" class="btn btn-primary" href="Ссылка на форму регистрации">Зарегистрироваться</a>';
} else {
    echo '<a target="_blank" class="btn btn-primary" href="ссылка на файл">Скачать</a>';
}
?>
{/source}
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

UFO_hA

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
dmitry_stas Огромное спасибо за "разжевывание" материала! Попробовал всё работает.
*

Kokshetau

  • Захожу иногда
  • 80
  • 0 / 0
  • https://vita-avto.kz/
это не будет работать, потому что вы мух от котлет не отделили. php и HTML - все смешано.
Код
{source}
<?php
if(JFactory::getUser()->guest){
    echo '<a target="_blank" class="btn btn-primary" href="Ссылка на форму регистрации">Зарегистрироваться</a>';
} else {
    echo '<a target="_blank" class="btn btn-primary" href="ссылка на файл">Скачать</a>';
}
?>
{/source}
Попробовал для скрытия DIV блока, отлично работает! Спасибо большое!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вернуть слайдер после работы с модулем html кода

Автор Jenik1245

Ответов: 0
Просмотров: 967
Последний ответ 30.05.2023, 14:15:58
от Jenik1245
Генератор QR кода для банка и ссылка на приложение банка

Автор shop-user

Ответов: 1
Просмотров: 798
Последний ответ 28.03.2023, 17:31:14
от marksetter
Вставка кода видео в материал

Автор dedun

Ответов: 20
Просмотров: 8644
Последний ответ 12.03.2023, 16:13:31
от kochevnik
Скрыть не нужные поля в SP LMS - Joomla Learning Management System

Автор kot488

Ответов: 0
Просмотров: 784
Последний ответ 23.01.2022, 17:19:38
от kot488
Как скрыть статью ссылающуюся на саму себя в модуле последних материалов?

Автор R31rus

Ответов: 9
Просмотров: 1145
Последний ответ 18.11.2021, 12:50:05
от R31rus