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

RAZORG1991

  • Захожу иногда
  • 349
  • 6 / 0
Может и не совсем правильно выразился в названии темы, но опишу так: пример модуля, в настройках которого есть такая штука Universal AJAX Live Search. Вот там где можно настроить цветовые схемы есть полоса градиента, цвет которой динамически меняется когда задаешь код цвета, а при нажатии на саму полосу градиента еще вылетает палитра цветов (я думаю многие поняли про что я), где уже можно прям курсором выставить понравившийся цвет.

Никто не подскажет как этот градиент и палитру можно также реализовать в настройках своего модуля?
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Нужен JS плагин.
Тип поля text, берете любой JS подбора цветов и подключаете к своему модулю, записываете в свое поле hex цвет. Все просто.
http://jscolor.com/
http://www.eyecon.ro/colorpicker/
http://www.colorpicker.com/
https://github.com/rightjs/rightjs-ui/tree/master/src/colorpicker/

Ну или выберите сами.
*

RAZORG1991

  • Захожу иногда
  • 349
  • 6 / 0
Нужен JS плагин.
Тип поля text, берете любой JS подбора цветов и подключаете к своему модулю, записываете в свое поле hex цвет. Все просто.
http://jscolor.com/
http://www.eyecon.ro/colorpicker/
http://www.colorpicker.com/
https://github.com/rightjs/rightjs-ui/tree/master/src/colorpicker/

Ну или выбирите сами.


А можно чуточку поподробнее с подключением, собственно куда его подключать, в какой файл? Меня больше интересует полоса градиента, а не колорпикер, тем более что в Joomla 3 уже появилась в настройках возможность подключения стандартного колорпикера, для этого всего лишь необходимо задать тип поля не text, а color. А вот как осуществить вот этот динамически меняющийся градиент?
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
А можно чуточку поподробнее с подключением, собственно куда его подключать, в какой файл? Меня больше интересует полоса градиента, а не колорпикер, тем более что в Joomla 3 уже появилась в настройках возможность подключения стандартного колорпикера, для этого всего лишь необходимо задать тип поля не text, а color. А вот как осуществить вот этот динамически меняющийся градиент?
Для того чтобы узнать куда подключать к своему модулю файлы, нужно для начала прочитать что-нибудь из этого

А теперь я расскажу Вам, как подключить абсолютно любой JS, либо изобрести свой тип поля для модуля.

Создаете в модуле папку admin
Там будут лежать Ваши js и CSS фалы, которые хотите подключить.
Далее создаете в папке admin подпапку elements.
В папке elements создаете файл вашего типа поля, например asset.php


Код его будет вот такой:
Код: php
<?php
defined('JPATH_BASE') or die;
jimport('joomla.form.formfield');

class JFormFieldAsset extends JFormField {
        protected $type = 'asset';
        protected function getInput() {
                $doc = JFactory::getDocument();
                $doc->addStyleSheet(JURI::root().$this->element['path'].'файл_стилей.css');
                $doc->addScript(JURI::root().$this->element['path'].'файл_скрипта.js');
                return null;
        }
}
?>

Теперь добавляете в XML файл модуля новое поле с указанием path:
Код: xml
 <field type="asset" path="modules/mod_модуль/admin/" />

Архивируйте модуль, устанавливайте и будет Вам счастье.

P.S.: Все эти операции справедливы для Joomla 2.5, что насчет третьей версии - не испытывал.
« Последнее редактирование: 01.08.2013, 09:11:10 от xchesh »
*

RAZORG1991

  • Захожу иногда
  • 349
  • 6 / 0
Хорошо спасибо подумаем, кстати на счет разработки модулей уже читал не одну статью, но вот про это не было написано.

Но все же уточню, как я понял Вы дали ссылки в самом начале только на колорпикеры? Градиентов таких там нет? Я просто не силен в js чтобы самому писать подобные скрипты
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Хорошо спасибо подумаем, кстати на счет разработки модулей уже читал не одну статью, но вот про это не было написано.

Но все же уточню, как я понял Вы дали ссылки в самом начале только на колорпикеры? Градиентов таких там нет? Я просто не силен в js чтобы самому писать подобные скрипты
Есть статья на хабре про колорпикеры. На основании её можно сделать линию градиентную.
*

RAZORG1991

  • Захожу иногда
  • 349
  • 6 / 0
Есть статья на хабре про колорпикеры. На основании её можно сделать линию градиентную.

Ок спс поищем
*

RAZORG1991

  • Захожу иногда
  • 349
  • 6 / 0
Для того чтобы узнать куда подключать к своему модулю файлы, нужно для начала прочитать что-нибудь из этого

А теперь я расскажу Вам, как подключить абсолютно любой JS, либо изобрести свой тип поля для модуля.

Создаете в модуле папку admin
Там будут лежать Ваши js и CSS фалы, которые хотите подключить.
Далее создаете в папке admin подпапку elements.
В папке elements создаете файл вашего типа поля, например asset.php


Код его будет вот такой:
Код: php
<?php
defined('JPATH_BASE') or die;
jimport('joomla.form.formfield');

class JFormFieldAsset extends JFormField {
        protected $type = 'asset';
        protected function getInput() {
                $doc = JFactory::getDocument();
                $doc->addStyleSheet(JURI::root().$this->element['path'].'файл_стилей.css');
                $doc->addScript(JURI::root().$this->element['path'].'файл_скрипта.js');
                return null;
        }
}
?>

Теперь добавляете в XML файл модуля новое поле с указанием path:
Код: xml
 <field type="asset" path="modules/mod_модуль/admin/" />

Архивируйте модуль, устанавливайте и будет Вам счастье.

P.S.: Все эти операции справедливы для Joomla 2.5, что насчет третьей версии - не испытывал.

А возможно ли сделать точно так же только для шаблона? Только в path указать путь к нужным файлам из шаблона?
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
А возможно ли сделать точно так же только для шаблона? Только в path указать путь к нужным файлам из шаблона?
Попробуйте, а потом расскажите нам.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вставка кода вызова модуля в тело шаблона другого модуля

Автор Dorfman

Ответов: 15
Просмотров: 2956
Последний ответ 19.11.2018, 21:45:54
от beliyadm
Нужна помощь в доработке модуля под Joomla 3

Автор kik84

Ответов: 5
Просмотров: 3153
Последний ответ 30.01.2018, 22:40:30
от Елeна
Модификация модуля lastet_news вывод времени перед заголовком

Автор Morphiss

Ответов: 9
Просмотров: 2812
Последний ответ 19.04.2016, 12:41:55
от spsyper
Создание платного модуля

Автор fiter

Ответов: 7
Просмотров: 2156
Последний ответ 04.08.2014, 18:27:05
от neo85r
[Решено] Автоматическое размешение модуля после установки

Автор asmuz

Ответов: 15
Просмотров: 7782
Последний ответ 21.07.2014, 21:59:18
от b2z