Новости Joomla

Свои типы полей в Joomla.

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note" name="your_note_for_user" label="Заголовок примечания" title="Альтернативный способ для заголовка" description="Текст примечания" class="col-12 alert alert-info" heading="h1" close="true" />

heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён. Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле

<field type="systempluginstatus" name="systempluginstatus" addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>

-

type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:

<?php // namespace для атрибута addfieldprefix namespace Joomla\Module\Wtquicklinks\Site\Fields; // нельзя напрямую обращаться к этому файлу defined('_JEXEC') or die; // подключаем родительский класс для переопределения use Joomla\CMS\Form\Field\NoteField; use Joomla\CMS\Language\Text; use Joomla\CMS\Plugin\PluginHelper; // имя класса и имя файла точь-в-точь class SystempluginstatusField extends NoteField { protected $type = 'Systempluginstatus'; protected function getLabel() { // если плагин не включён if(PluginHelper::isEnabled('system','wtquicklinks')) { // меняем свойства родительского класса $this->class = 'alert alert-danger w-100'; $this->element['label'] = '⚠️ А-а-а-а!'; $this->element['description'] = 'Плагин не включён!!'; // и просто рендерим его с нашими свойствами return parent::getLabel(); } // А иначе всё хорошо, скрываем поле из виду. $this->parentclass = 'd-none'; return ''; } }

Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает. @webtolkru#joomla #php #webdev #разработка

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

igorsuccess

  • Захожу иногда
  • 76
  • 0 / 0
Здравствуйте, подскажите как с этим бороться - вирус, или ифрейм, или ещё какая зараза...Заметил. что при заходе на страницы сайта иногда редиректит на Алиэкспресс, через этак секунд 10. Это заметил на паре сайтов на Joomla 2.5 - на одном партнерка Авиасейлс, на другом женская тематика - баннеры адмитад и гдеслон. Редирект сам по себе - без нажатия на баннеры - вот такая ссыль - _http://ru.aliexpress.com/premium/category/202000220.html?aff_platform=aaf&sk=JMjmIeUvn%3A&cpt=1429157028619 Как бороться, где искать каку? Спасибо заранее
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Проверять яваскрипты.Хотя может и просто refresh HTML Сканер айболит в помощь
*

happy46

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Здравствуйте, подскажите как с этим бороться - вирус, или ифрейм, или ещё какая зараза...Заметил. что при заходе на страницы сайта иногда редиректит на Алиэкспресс, через этак секунд 10. Это заметил на паре сайтов на Joomla 2.5 - на одном партнерка Авиасейлс, на другом женская тематика - баннеры адмитад и гдеслон. Редирект сам по себе - без нажатия на баннеры - вот такая ссыль - _http://ru.aliexpress.com/premium/category/202000220.html?aff_platform=aaf&sk=JMjmIeUvn%3A&cpt=1429157028619 Как бороться, где искать каку? Спасибо заранее

У меня похожая проблема, нашли решение? айболит ничего не нашел(
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
А отключить сторонние плагины, модули и посмотреть
*

wishlight

  • Гуру
  • 5051
  • 314 / 1
  • От 300 руб быстрый хостинг. Сервера.
Пробуйте искать айболитом во всех файлах с параноидальным режимом.
*

happy46

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
А отключить сторонние плагины, модули и посмотреть
да, ща буду отключать и смотреть. Вся проблема в том, что редирект совсем редко срабатывает. Придется долго искать
*

happy46

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Пробуйте искать айболитом во всех файлах с параноидальным режимом.
он 18 часов проверял)) придется позже попробовать, если так ничего не получится найти
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
А попробуй айболитом проверять по отдельной папке, а не весь сайт сразу.
И айболит точно что параноик, вываливает кучу файлов с похожими на вирус/шелл скритами.
*

happy46

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Вот уже скок дней прошло, вроде больше не перекидывает никуда... отключил имгресайзер и вывод последних комментарий - будем искать зло в них =) если что узнаю, напишу
*

jeanzzz

  • Осваиваюсь на форуме
  • 35
  • 1 / 0
Обнаружил у себя подобную проблему. Вчера и сегодня перекидывало с моего сайта на Joomla 3 на алиэкспресс. заметил, что это происходило оба раза после попытки включения плагина система - кэш. может и не связано, но так совпало.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Обнаружил у себя подобную проблему. Вчера и сегодня перекидывало с моего сайта на Joomla 3 на алиэкспресс. заметил, что это происходило оба раза после попытки включения плагина система - кэш. может и не связано, но так совпало.
Вполне может вирус прописываться в кешированный файл в папке /cache
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Передирект страницы панели управления

Автор aviyar

Ответов: 6
Просмотров: 883
Последний ответ 09.04.2025, 11:53:35
от aviyar
Периодический страница сайта открывается криво. (Подробнее в описании)

Автор 62411

Ответов: 0
Просмотров: 604
Последний ответ 27.01.2025, 10:36:57
от 62411
Проблема с переносом Joomla сайта с хостинга на денвер

Автор 62411

Ответов: 4
Просмотров: 1771
Последний ответ 21.02.2022, 20:22:11
от arma
Нужен редирект.htaccess для перенаправления с без id на id в url сайта

Автор MultiMatrix83

Ответов: 10
Просмотров: 1382
Последний ответ 19.10.2021, 18:28:04
от draff
Долго открывается мобильная версия сайта. (подробнее в теме)

Автор 62411

Ответов: 6
Просмотров: 1269
Последний ответ 13.04.2021, 15:07:31
от IToro82