Новости 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 Гость просматривают эту тему.
  • 8 Ответов
  • 991 Просмотров
*

AlexMakedonskiy

  • Новичок
  • 6
  • 0 / 0
Приветствую, форумчан!
У меня появилась необходимость вывести произвольные поля они же "Fields", на странице тегов, шаблон которых хранится:
"шаблон_сайта\html\com_tags\tag\default_items.php"

На странице блога категорий у меня это получилось сделать, но на странице тегов\меток тем же способом не вышло.
Подскажите возможно ли их вообще вывести на странице меток?
*

AlexMakedonskiy

  • Новичок
  • 6
  • 0 / 0
Знающие ребята подскажите, это вообще выполнимая задача?
*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
Re: Как вывести "Fields" на странице тега?
« Ответ #2 : 10.09.2018, 09:52:56 »
тут надо смотреть БД
какие взаимосвязи
а так думаю что нет ничего не возможного
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
Re: Как вывести "Fields" на странице тега?
« Ответ #3 : 10.09.2018, 10:13:25 »
короче можно завязать
от tag_id --> content_item_id --> id --> fields --> fields_values
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

AlexMakedonskiy

  • Новичок
  • 6
  • 0 / 0
Благодарю за наводку буду работать в этом направлении!
*

AlexMakedonskiy

  • Новичок
  • 6
  • 0 / 0
короче можно завязать
от tag_id --> content_item_id --> id --> fields --> fields_values

Камрад, что-то у меня не выходит, это я полагаю следствие слабого знания php (я верстальщик) и Joomla 3, не мог бы ты помочь мне написать цикл для вывода произвольного поля в метках? Могу заплатить, без проблем.

Скидываю пример кода как я вывожу в категориях\материалах (На всякий случай):

            <?php
            // GET CUSTOM FIELDS
            $myCustomFields = array();
            foreach($this->item->jcfields as $field) {
                $myCustomFields[$field->name] = $field->value;
            }
            ?>

            <?php
            if (isset($myCustomFields['nazvanie_polia']) and !empty($myCustomFields['nazvanie_polia'])) :
            ?>
   
                <?php
                if (isset($myCustomFields['nazvanie_polia']) and !empty($myCustomFields['nazvanie_polia'])) : ?>
                    <li class="field__name">
                        <span>Жанр: </span>
                        <?php echo $myCustomFields['nazvanie_polia']; ?>
                    </li>
                <?php endif; ?>

            <?php endif; ?>

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

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
Re: Как вывести "Fields" на странице тега?
« Ответ #6 : 10.09.2018, 16:26:58 »
надо смотреть конкретно в базе что у вас и откуда тащится
какие теги к чему привязываются

ну и плюс в бд смотреть по полям
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

AlexMakedonskiy

  • Новичок
  • 6
  • 0 / 0
надо смотреть конкретно в базе что у вас и откуда тащится
какие теги к чему привязываются

ну и плюс в бд смотреть по полям

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

AlexMakedonskiy

  • Новичок
  • 6
  • 0 / 0
Задача решилась очень банально, внес небольшие правки в код цикла foreach, нужно было просто убрать $this, произвольные поля начали выводится:

           <?php
            // GET CUSTOM FIELDS
            $myCustomFields = array();
            foreach($item->jcfields as $field) {
                $myCustomFields[$field->name] = $field->value;
            }
            ?>

Отдельная благодарность камраду, lexxbry, который пытался помочь.

Тему можно закрывать.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести дочерние товары в самой карточке родительского товар VirtueMart

Автор aliallaxverdiev91

Ответов: 2
Просмотров: 3075
Последний ответ 03.03.2024, 11:32:49
от gtiosx
Как вывести Alt картинки в описание Lightbox?

Автор art22

Ответов: 2
Просмотров: 3048
Последний ответ 14.05.2023, 09:21:39
от sivers
Как спрятать блок (его код) на странице

Автор darkghost

Ответов: 4
Просмотров: 3201
Последний ответ 28.04.2023, 11:23:43
от fsv
Съезжают модули на странице материала

Автор sibdes

Ответов: 3
Просмотров: 3713
Последний ответ 24.04.2023, 12:50:21
от beliyadm
Друзья, как перевести слово "or" в "или"

Автор Alex_iPod

Ответов: 2
Просмотров: 875
Последний ответ 28.12.2021, 22:54:47
от Alex_iPod