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

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Всем здра!
Нужно создать в админке плагина кнопку/ссылку "предпросмотр".
Среди стандартных элементов такой не нашел, была мысль прицепить js и заменять один из элементов на свой, но это из области извращений.
Так что вопрос знатокам: какие есть пути. Предпочтение - к максимально простым  ;D
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Доброго Дня Вам !
Немного не понятно где и для чего вы хотите !!
Если все же я Вас понимаю - то есть такое для плагинов и модулей - создание кастомароно поля !
Ну и в нем   Вы уже можете забросить и в ToolBar - кнопку - и Js прицепить с CSS
Creating a custom form field.....
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
чего ж на Вы-то, вместе ж сидим  ;D
просто надо кнопку добавить над стандартными полями плагина (чекбоксами и прочими текстэриями).

да, наверно это оно, хотя ленность не хочет вникать в это все  ;D
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
хотя ленность не хочет вникать в это все
Та там все просто !
Код
class JFormFieldVersion extends JFormField {
    protected $type = 'version';
    public function getLabel() {
         return false;
    }
    public function getInput() {
         # тут пихаем CSS and JS
         $doc = \Joomla\CMS\Factory::getDocument();
         
         /**
         * Индивидуальная кнопка
         */
        \Joomla\CMS\Toolbar\ToolbarHelper::divider();
        $bar = JToolBar::getInstance('toolbar'); //ссылка на объект JToolBar

        $title = JText::_('Import setting'); //Надпись на кнопке
        $dhtml = "<a href=\"index.php\" class=\"btn btn-small ImportStart\">
<i class=\"icon-upload\" title=\"$title\"></i>$title</a>"; //HTML кнопки
        $bar->appendButton('Custom', $dhtml, 'list');//добавляем ее на тулбар
    }

}

В файле XML - плагина пишем так !
Код
<config>
<fields name="params">
<fieldset name="basic">
<!-- Путь к дир. где лежат файлы с полями -->
<fieldset addfieldpath="/plugins/content/plg_content_google_analytics/models/fields" />
<!-- сама поле . type="version" - должно быть как и имя файла с полем так
и  protected $type = 'version';  в самом файле и Имя класса  должн быть таким   JFormFieldVersion -->
<field name="version_plugin"
   type="version"
   path_xml="/plugins/content/plg_content_google_analytics/plg_content_google_analytics.xml"
   class="version_plugin "
   filter="raw" />
</fieldset>
</fields>
</config>
Вот и все  будет у вас кнопка ! - ))))

*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
а это точно для админки плагина кнопка, а не всего сайта?
Код
//добавляем ее на тулбар
мне надо только внутри плагина была чтобы, среди прочих его настроек.
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

как из Стиль модуля - none, убрать custom

Автор all_zer

Ответов: 3
Просмотров: 1337
Последний ответ 15.11.2025, 16:20:01
от all_zer
Joomla! 3.9.21 Невозможно создать пункт меню

Автор edvalitto

Ответов: 1
Просмотров: 1913
Последний ответ 26.03.2025, 19:26:30
от azm1n
Дублируются дивы у модуля mod_custom

Автор timofe

Ответов: 0
Просмотров: 1100
Последний ответ 07.09.2024, 13:19:48
от timofe
Вывод содержимого модуля mod_custom без html разметки

Автор goga_pgasovav

Ответов: 3
Просмотров: 1656
Последний ответ 07.06.2024, 11:15:50
от goga_pgasovav
Проблема вебвизором в Яндекс метрике при использовании плагина jch optimize

Автор polezniy

Ответов: 32
Просмотров: 5573
Последний ответ 01.03.2024, 10:26:31
от Vastriet