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

phvsfpgs

  • Захожу иногда
  • 215
  • 8 / 0
  • В погоне за обновлением Joomla и новым проблемам
Обновление Joomla 4 на Joomla 5
« : 21.10.2023, 06:33:50 »
Всем доброго времени суток, как говорится в релизе что Joomla 5 это обновление, а не эмиграция, скорее всего это мягко сказано. При обновлении 100% ваш сайт перестанет работать от слова вообще. Мало того что Joomla 5 не поддерживает ваши плагины, модули и шаблоны, дак ещё и свои, а точнее: FOF и scratch - вы найдёте их в обновлении несовместимости, их придется тоже удалить. Без пакета локализации тоже выскочит ошибка, придётся скачать ru-RU_joomla_lang_full_4.3.4v1 и обновить заранее. Защиту админки AskMyAdmin тоже нужно удалить, хоть она и совместима - на самом деле нет, с ней точно слетит сайт. Таким образом нужно почистить от всех плагинов (включая штатных несовместимых) и шаблонов, и приступать к обновлению. Все пакеты с обновлением скачиваются только с GitHub.
*

web1

  • Захожу иногда
  • 339
  • 19 / 1
Re: Обновление Joomla 4 на Joomla 5
« Ответ #1 : 21.10.2023, 08:59:17 »
Спасибо за информацию, я точно не буду обновляться, удачи, успехов!
*

Vastriet

  • Захожу иногда
  • 405
  • 11 / 0
Re: Обновление Joomla 4 на Joomla 5
« Ответ #2 : 21.10.2023, 13:37:29 »
а нафига бежать впереди паровоза?
пятерка только вышла.
под нее мало что есть.
она для тестов а не для обновы
*

phvsfpgs

  • Захожу иногда
  • 215
  • 8 / 0
  • В погоне за обновлением Joomla и новым проблемам
Re: Обновление Joomla 4 на Joomla 5
« Ответ #3 : 21.10.2023, 15:04:59 »
а нафига бежать впереди паровоза?
пятерка только вышла.
под нее мало что есть.
она для тестов а не для обновы

Понятно что для больших проектов это настоящая трагедия, а тех у кого небольшой блог или сайт визитка это нормально. С одной стороны оптимизация и чистый код приоритет для кого то. Для тестов уже закрыта, это уже стабильная Joomla 5.  Joomla 4 как  Joomla 3 будет обслуживаться 2 года и прекратится.
*

Vastriet

  • Захожу иногда
  • 405
  • 11 / 0
Re: Обновление Joomla 4 на Joomla 5
« Ответ #4 : 21.10.2023, 15:36:14 »
так блог проще с нуля портировать
*

Vastriet

  • Захожу иногда
  • 405
  • 11 / 0
Re: Обновление Joomla 4 на Joomla 5
« Ответ #5 : 21.10.2023, 15:39:13 »
а по плагинам и расширениям это вопрос к их разработчикам

по факту на 4 еще не все плюшки допилили.
так что только ручками или ждать
*

Sulpher

  • Живу я здесь
  • 2126
  • 402 / 16
  • Шаблоны и расширения Joomla
Re: Обновление Joomla 4 на Joomla 5
« Ответ #6 : 22.10.2023, 09:21:15 »
Есть плагин совместимости. по факту нужно смотреть и  тестировать обновление. логично использовать передовые технологии, взаимодействовать с разработчиками расширений, писать, если найдены баги. развитие идет дальше.
*

web1

  • Захожу иногда
  • 339
  • 19 / 1
Re: Обновление Joomla 4 на Joomla 5
« Ответ #7 : 22.10.2023, 10:57:20 »
Здраствуйте,  Joomla 5 это продолжение Joomla 4, или это совсем новая версия?
*

Sulpher

  • Живу я здесь
  • 2126
  • 402 / 16
  • Шаблоны и расширения Joomla
Re: Обновление Joomla 4 на Joomla 5
« Ответ #8 : 22.10.2023, 15:17:53 »
Здраствуйте,  Joomla 5 это продолжение Joomla 4, или это совсем новая версия?
да, это продолжение, но со своими особенностями.
повышены требования к ПО: php 8.2 и MySQL 8.0 нужно. плюс нужно обращать внимание, поддерживают ли сторонние расширения архитектуру Joomla 4 нативно или нет. там есть плагин совместимости, который будет жить до Joomla 6.
в общем, проверьте, поддерживает ли ваш хостинг требования к ПО и аккуратно протестируйте копию сайта где-нибудь в поддомене.
*

web1

  • Захожу иногда
  • 339
  • 19 / 1
Re: Обновление Joomla 4 на Joomla 5
« Ответ #9 : 22.10.2023, 15:52:20 »
А, понял, спасибо, что расказали, у меня на сервере php 7.4 стоит и поменять на php 8 не получится, в любом случае сбасибо, что сказали.
*

kosh2323

  • Захожу иногда
  • 50
  • 0 / 0
Re: Обновление Joomla 4 на Joomla 5
« Ответ #10 : 23.10.2023, 09:41:52 »
да, это продолжение, но со своими особенностями.
повышены требования к ПО: php 8.2 и MySQL 8.0 нужно. плюс нужно обращать внимание, поддерживают ли сторонние расширения архитектуру Joomla 4 нативно или нет. там есть плагин совместимости, который будет жить до Joomla 6.
в общем, проверьте, поддерживает ли ваш хостинг требования к ПО и аккуратно протестируйте копию сайта где-нибудь в поддомене.

PHP не 8.2, минимальные требования 8.1

Joomla now requires PHP 8.1, MySQL 8.0.13+, MariaDB 10.4+, and PostgreSQL 12+

https://www.joomla.org/announcements/release-news/5900-joomla-5-0-and-joomla-4-4-are-here.html
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Re: Обновление Joomla 4 на Joomla 5
« Ответ #11 : 24.10.2023, 04:51:58 »
Даже интересно почему MySQL прям 8 нужен, что там нового в базах данных изобрели? Вроде оптимизацией в основном занимаются.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сделал шаблон для Joomla 5

Автор fbr

Ответов: 5
Просмотров: 745
Последний ответ 11.06.2025, 20:46:04
от fbr
Дубли Joomla 5

Автор bormir

Ответов: 15
Просмотров: 1671
Последний ответ 25.05.2025, 09:16:03
от bormir
Joomla 5 и MySQL 5.7

Автор n_nickon

Ответов: 6
Просмотров: 676
Последний ответ 20.05.2025, 22:23:56
от n_nickon
Сломался сайт Joomla 4 после обновления одного модуля

Автор androv77

Ответов: 4
Просмотров: 627
Последний ответ 17.05.2025, 06:12:07
от azm1n
Как найти и исправить ошибки php на Joomla?

Автор azm1n

Ответов: 0
Просмотров: 361
Последний ответ 07.05.2025, 11:44:31
от azm1n