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

wellweb

  • Новичок
  • 7
  • 0 / 0
Мы хостинг-провайдер Well-Web.net, предоставляем услуги виртуального хостинга, аренды VDS и выделенных серверов. Нашей компании уже 3 года и мы хотели бы предложить и Вам наши услуги, качество которых уже проверено временем. Всем нашим клиентам предоставляются такие бонусы:

  • Бесплатный перенос к нам!
  • Бесплатная защита от DDoS атак!
  • Бесплатное администрирование VPS и выделенных серверов!
  • Бесплатный домен ru/рф!
  • Бесплатные SSL-сертификаты!
  • Скидка 20%  при оплате услуг на 1 год![/b]

    Наши https://well-web.net/ssd-hosting тарифы SSD хостинга:

    Старт - 5 сайт | 10 БД | 2 Гб ОЗУ | 3 Гб SSD  - 199 руб./мес.
    Бизнес - 15 сайтов | 20 БД | 3 Гб ОЗУ | 7 Гб SSD - 399 руб./мес.
    Премиум - 25 сайтов | 30 БД | 4 Гб ОЗУ | 15 Гб SSD - 599 руб./мес.


    Тарифы SSD хостинга включают в себя:

    • Удобная панель Plesk Onyx
    • Бесплатный перенос сайтов к нам
    • Ежедневное резервное копирование
    • Бесплатные SSL-сертификаты
    • Бесплатная регистрация домена, при оплате хостинга от 1 года
    • Скидка до 25% при оплате на длительный срок
    • В качестве сервера БД MySQL — MariaDB 10.1.
    • В рамках аккаунта доступна смена версий PHP от 4.4 до 7.1 и подключение модулей кеширования(XCache, OPcache, eAccelerator)
    • Ежедневное резервное копирование в смежные ДЦ
    • Защита от DDoS-атак - Бесплатно![/b]

      Наши тарифы виртуальных серверов VPS/VDS (KVM+SSD):

      2 ядра | 1 Гб ОЗУ | 30 Гб SSD — 490 руб./мес.
      4 ядра | 3 Гб ОЗУ | 50 Гб SSD — 990 руб./мес.
      6 ядра | 8 Гб ОЗУ | 90 Гб SSD — 1.690 руб./мес.


      Тарифы VPS включают в себя:

      • ISP 5 LITE - Бесплатно!
      • Процессоры XEON E3 с высокой частотой
      • Дисковая подсистема на базе SSD в RAID-10.
      • Тип RAM — ECC DDR4.
      • Стоимость доп. IP, цена — 99 руб./мес.
      • Предоставляется VMmanager для управления сервером.
      • Бесплатное администрирование
      • Защита от DDoS-атак - Бесплатно![/b]

        Дешевые VPS тарифы:

        1 ядро | 512 Мб ОЗУ | 10 Гб SSD — 240 руб./мес.
        1 ядро | 1 Гб ОЗУ | 20 Гб SSD — 390 руб./мес.
        2 ядра | 2 Гб ОЗУ | 30 Гб SSD — 690 руб./мес.


        Цену мы снизили в основном, за счет отсутствия администрирования на данных тарифах, потому качество услуги никак не снизится.

        Тарифы дешевых VPS включают в себя:

        • XEON последнего поколения с частотой не менее 2.9 ГГц
        • Дисковая подсистема на базе SSD в RAID-10
        • Тип RAM — ECC DDR4
        • Стоимость доп. IP, цена — 149 руб./мес.
        • Предоставляется VMmanager для управления сервером
        • Защита от DDoS-атак - Бесплатно!
        • [/b]
          Так же мы предоставляем в аренду:

        Выделенные(dedicated) серверы - от 1.990 руб./мес.
        IP-адреса - от 29 руб. шт.
        Место для бекапов - от 99 руб.


        В случае если Вам не подойдут наши услуги, в течении 30 дней мы гарантировано выполним возврат средств.


        Контакты:
        Ссылка на наш сайт: https://well-web.net/
        Тел. +7 499 322 88 55
        E-mail. support@well-web.net


        С уважением,
        Хостинг провайдер
        ООО «Велл-Веб»
« Последнее редактирование: 14.03.2018, 03:57:18 от wellweb »
*

sword852d

  • Захожу иногда
  • 199
  • 9 / 0
Поправьте ссылки, а то лень в браузере править)
*

wellweb

  • Новичок
  • 7
  • 0 / 0
Удвоим срок оплаты хостинга и VPS при оплате от 6 мес.! В акции участвуют все новые заказы хостинга и VDS серверов сделанные с 10 до 31 марта!

Например, Вы оплачиваете VPS на 1 год, и получаете 2 года услуги. Оплачиваете хостинг на 6 мес. и получаете 1 год хостинга бонусом!

Напомним преимущества размещения у нас:

- Бесплатный перенос к нам нашими силами!
- Бесплатное администрирование VDS!
- Бесплатная панель ISP 5 Lite!
- Бесплатный домен - .ru / .win / .fun
- Стабильные и быстрые серверы
- Выбор любой версии PHP на хостинге
- Высокочастотные процессоры
- Гарантированные ресурсы

Для участия в акции, после оплаты создайте тикет для службы поддержки и мы начислим Вам бонус! Всем тепла!

Детали акции - https://well-web.net/news

С уважением,
Well-Web.net
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

ProHoster - Лучший хостинг для вашего сайта

Автор ProHoster

Ответов: 0
Просмотров: 235
Последний ответ 02.05.2025, 14:45:35
от ProHoster
lite.host - хостинг для тех, кто любит не переплачивать

Автор Yoh

Ответов: 60
Просмотров: 6848
Последний ответ 27.01.2025, 12:31:28
от Ксения Климова
Дешевый SSD хостинг на DDR4 с DDOS защитой для 10 сайтов за 69 рублей!

Автор HostiMan

Ответов: 171
Просмотров: 17324
Последний ответ 13.01.2025, 09:30:03
от HostiMan
RoboVPS.biz - серверы, хостинг в Европе и России

Автор robovps

Ответов: 1
Просмотров: 1340
Последний ответ 14.03.2024, 19:56:24
от wishlight
Надежный Хостинг от Hostsailor

Автор MaratD

Ответов: 1
Просмотров: 1766
Последний ответ 07.11.2023, 17:33:18
от MaratD