Новости Joomla

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

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

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

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

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

Читать статью на Хабре.

@joomlafeed

🏆 Открыто голосование за 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 Гость просматривают эту тему.
  • 7 Ответов
  • 964 Просмотров
*

Zelyonkin

  • Захожу иногда
  • 110
  • 0 / 0
Добрый день! Может кто уже делал. Нужна возможность внедрять в материал некие php вставки использующие поля материала. Эти вставки могут быть в любом месте материала.
Допустим есть какое-то количество материалов где описываются сотрудники организации. В материалах есть поля ФИО, специальность и т.д. Далее эти материалы заполняются и в нужные места по тексту просто должны втыкаться некие шоткоды, например [FIO], которые соответственно при рендере на сайте должны выводит ФИО из поля данного материала.
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
Переопределяете макет материала, в нем перед выводом контента делаете в нем замену шоткодов на значения полей (обычным str_replace можно).
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

ShopES

  • Захожу иногда
  • 426
  • 11 / 0
сложно описано
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
сложно описано
Проще будет только готовое решение. Но вопрос был про возможность. Понадобятся подробности - спросит.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Zelyonkin

  • Захожу иногда
  • 110
  • 0 / 0
На самом деле я пока что и делаю str_replace. Возможно есть какие-то более правильные варианты. Вот что у меня сейчас:
Код
foreach($this->item->jcfields as $field) {
$thisCustomFields[$field->name] = $field->value;
}
$replaceShotcodeText=str_replace('[специальность]', $thisCustomFields['spetsialnost'], $this->item->text);
Топорненько :). И если таких вставок 10, то делать массив, в массиве перечислять HTML и т.д.
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
Вот. Особо расписывать человеку и не пришлось. Оптимизируйте немного код и все:
Код
$shortCodes = array();
foreach($this->item->jcfields as $field) {
    $shortCodes['['.$field->name.']'] = $field->value;
}
$this->item->text = str_replace(array_keys($shortCodes), array_values($shortCodes), $this->item->text);
в текст вставляйте сразу по именам полей: [spetsialnost]

Хотя, можно можно и по русскому тайтлу, тогда в цикле тоже надо заполнять массив тайтлами, а не нэймами.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Zelyonkin

  • Захожу иногда
  • 110
  • 0 / 0
в текст вставляйте сразу по именам полей: [spetsialnost]
Вот это уже лучше выглядит. Благодарю! Так можно все поля вставлять просто посмотрев название этого поля в админке. И если пойти дальше, то может подскажете как реализовать обёртки для шоткодов? Например [p class=aaa spetsialnost] или [strong class=aaa spetsialnost], чувствую надо делать некий explode и затем разбирать. Или может так [p.aaa spetsialnost]?
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
Вот это уже лучше выглядит. Благодарю! Так можно все поля вставлять просто посмотрев название этого поля в админке. И если пойти дальше, то может подскажете как реализовать обёртки для шоткодов? Например [p class=aaa spetsialnost] или [strong class=aaa spetsialnost], чувствую надо делать некий explode и затем разбирать. Или может так [p.aaa spetsialnost]?
для этого регулярные выражения подойдут. Читайте про preg_match_all
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 4100
Последний ответ 28.04.2025, 10:25:44
от sivers
[Решено] Вывод значений из custom fields материала в модуле по имени поля

Автор goga_pgasovav

Ответов: 3
Просмотров: 2551
Последний ответ 30.12.2024, 13:22:11
от goga_pgasovav
Вывод дополнительного поля материала в модуле

Автор timofe

Ответов: 10
Просмотров: 2959
Последний ответ 06.10.2023, 14:02:24
от Mitriy
Заменить текст - просмотров - на иконку (или свой текст)

Автор all_zer

Ответов: 2
Просмотров: 1062
Последний ответ 28.03.2023, 13:32:35
от all_zer
Комментарии в материале

Автор tmpnikl

Ответов: 0
Просмотров: 617
Последний ответ 09.12.2022, 09:09:02
от tmpnikl