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

web1

  • Захожу иногда
  • 339
  • 19 / 1


Наша Компания работает на рынке услуг хостинга с 2007 года. Мы предоставляем полный спектр услуг хостинга, включая shared-хостинг, виртуальные выделенные серверы и выделенные физические серверы. Своей миссией мы ставим предоставление качественных и доступных услуг, которые являются базисом современной сети Интернет.

Мы одни из немногих, кто на уровне договора с абонентом гарантирует аптайм и время работы онлайн на уровне не ниже 99%. Нам доверяют как небольшие сайты-визитки, так и крупные порталы, сайты государственных учреждений и крупные высоконагруженные проекты и интернет-стартапы. Именно это позволило нам стать одним из крупнейших провайдеров услуг хостинга в Украине.

Большой опыт в сфере хостинга и слаженная работа нашей команды на протяжении многих лет обеспечили высокий уровень доверия пользователей к нашему сервису. Результатом наших усилий стали различные награды престижных рейтингов, а также награда "Выбор потребителя 2020" от Всеукраинского отраслевого аналитического центра.

Становясь нашим клиентом, Вы доверяете нам часть своей репутации. Именно поэтому мы не работаем с чужим оборудованием. Все наши серверы и оборудование обслуживаются нашими специалистами, которые поддерживают их и регулярно проводят мониторинг. Именно это позволяет всегда держать уровень надёжности и контроля наших решений – того продукта, за который Вы, в конечном итоге, платите деньги и ожидаете получить качественный результат.

https://thehost.ua/
*

web1

  • Захожу иногда
  • 339
  • 19 / 1
Здравствуйте, у хостинга подорожали цены, кому интересно обновление целевой политики, то переходить по ссылке выше.
*

azm1n

  • Захожу иногда
  • 102
  • 16 / 0
Минус только у хостинга, что там одна версия php для всех сайтов, из плюсов нормальная адекватная цена, стабильная, быстрая работа, нормальные цены на домены, все остальное норм.
*

wishlight

  • Гуру
  • 5051
  • 314 / 1
  • От 300 руб быстрый хостинг. Сервера.
Типа одобряем, но 4 версию панели уже не очень... Иди это только биллменеджер?

одна версия php для всех сайтов

На сайте написано, что до 8.3
*

azm1n

  • Захожу иногда
  • 102
  • 16 / 0
Joomla 3 работает на php 7.4, Joomla 5 на php 8, по этому выбор за вами.
*

azm1n

  • Захожу иногда
  • 102
  • 16 / 0
У них стоит ISPmanager на хостинге, а вообще нужно читать, что они предлагают.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

qckl - выделенные серверы всего от € 9.99! Хостинг от € 1.99! VPS от € 13.99!

Автор qckl

Ответов: 41
Просмотров: 3932
Последний ответ 09.06.2025, 21:37:00
от qckl
Тормозит сайт. Нужен другой хостинг

Автор Stihao

Ответов: 8
Просмотров: 2962
Последний ответ 08.06.2025, 09:02:51
от azm1n
Посоветуйте хороший хостинг в России или Украине

Автор Igoritaly

Ответов: 32
Просмотров: 4281
Последний ответ 30.05.2025, 11:36:45
от azm1n
Какой хостинг выбрать. Из личного опыта?

Автор zikkuratvk

Ответов: 814
Просмотров: 135468
Последний ответ 29.03.2025, 10:48:47
от wishlight
xHost24.com – надежный хостинг с абузоустойчивыми серверами! 7 лет на рынке! Пла

Автор xhost24

Ответов: 1
Просмотров: 558
Последний ответ 04.02.2025, 12:05:26
от wishlight