Новости 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 #разработка

Обновлена информация в Плане развития Joomla

👩‍💻 Обновлена информация в Плане развития Joomla.Здесь собрана информация о датах релизов, описаны принципы версионирования, указаны ответственные за релизы, а так же даты окончания поддержки релизов. Опираясь на эту информацию вы можете планировать развитие ваших интернет-проектов.👩‍💻 Что нового?⛔️ Joomla 4.Дата окончания исправления ошибок безопасности в версии 4.x - 14 октября 2025г. ⚠️ После этой даты Joomla 4 прекратит получать какие-либо обновления, в том числе безопасности - вообще. Рекомендуем обновить ваши сайты до актуальной Joomla 5.✅ Joomla 5.- Дата окончания исправления ошибок в версии 5.x - 13 октября 2026г.- Дата окончания исправления ошибок безопасности в версии 5.x - 12 октября 2027 года.- Текущая актуальная (на момент написания заметки) версия - 5.3.1.- Опубликовано расписание выхода релизов Joomla 5.4. Стабильный релиз ожидается 14 октября 2025 года.✅ Joomla 6.- Дата окончания исправления ошибок в версии 6.x - 17 октября 2028г.- Дата окончания исправления ошибок безопасности в версии 6.x - 16 октября 2029г.- Опубликовано расписание выхода релизов Joomla 6.0. Стабильный релиз ожидается 14 октября 2025 года.- Для разработчиков уже доступна Joomla 6.0.0-alpha1.✅ Joomla! Framework.Обновлена информация о Joomla! Framework - полноценном PHP-фреймворке для разработки. Он в версиях 1.х и 2.х был самостоятельным параллельным проектом, однако начиная с версии Joomla 4.0 стал её основой. Добавлена информация о Joomla! Framework 3.x, который вышел 6 октября 2023 года. Его можно использовать в тех случаях, когда вам в проекте не нужна CMS Joomla целиком.Подробнее на сайте Joomla-сообщества Joomlaportal.ru#joomla #community

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

Tigr

  • Новичок
  • 3
  • 0 / 0
Здравствуйте. После обновления Joomla 1.5 до 1.6 и восстановления из бэкапа возврат к версии 1.5, при попытке редактирования любых меню на сайте вылазит следующая ошибка

Fatal error: Class 'JTableMenu' not found in /home/тра-та-та/public_html/administrator/components/com_menus/tables/menu.php on line 19

При перелопачивании форумов на англоязычном сайте у одного человека была такая ж проблема. Как ему ответили, что это из-за возврата к версии 1.5 ВРоде как этот путь, который я указал выше и данный файл относятся к Joomla 1.6 и поэтому его нельзя найти в 1.5 версии. Примерно так. Была попытка с помощью JUpdate обновить Joomla, но модуль не заработал на сайте и, соответственно, не обновил версию Joomla. Какой еще вариант решение можете предложить? Я уже не знаю куда забраться и попробовать. Вариант обновления является крайним, хотелось бы узнать способ без изменения версии Joomla.

Всем за ранее спасибо за ответ.
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Вы обновлялись с помощью jUpgrade?
Если так, то не понятен Ваш вопрос - зачем делать какой-то возврат к версии 1.5?
Обновление с помощью jUpgrade ни как не затрагивает основной сайт.
Если даже попытка обновления не удалась, то на работе сайта это не отражается.
Смысл обновления с помощью jUpgrade состоит в том, что в случае правильной работы у Вас создается в папке "/home/тра-та-та/public_html/jupgrade" сайт новой версии и кроме того в базе данных Вашего сайта появляются еще одни таблицы с префиксом нового сайта.
Почитайте, если не читали, тему про этот компонент http://joomlaforum.ru/index.php/topic,153636.0.html
*

Tigr

  • Новичок
  • 3
  • 0 / 0
К сожалению, чем обновлялась Joomla неизвестно, т.к. делал это не я, а другой человек и связи с ним нет. После этого не известно мне обновления сайт "умер". После чего был восстановлен через бэкап на версию 1.5. Когда выявилась ошибка, указанная выше, то появилась мысль попробовать самому обновить с помощью JUpgrade, но данный модуль не срабатывает, выдается ошибка. И, вообще это крайний вариант решения проблемы. Описан лишь для более полного понимания действий и проблемы. Хотелось бы узнать вариант устранения ошибки без обновления версии. Прошу прощения, если мой вопрос был не понятен и не корректен.
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Не понятно, что за бэкап у Вас есть, как восстанавливали его и т.д.
В зависимости от того, сколько у Вас сторонних расширений и модулей установлено было, какое количество материалов было, как реализовано меню на сайте, можно сделать восстановление сайта разными способами.
Лучше всего это делать локально на компьютере, установив, например, Денвер.
Один из способов, наверное, самый надежный и самый медленный - это установить новый движок без демоданных и поэтапно загружать в базу данных этого движка старые данные из бэкапа.
Но этот вариант требует минимальных знаний MySQL и умения работать с phpMyAdmyn.
Затем устанавливать сторонние компоненты и модули, предварительно, конечно, восстановив старый шаблон.

Больше пока посоветовать ни чего не могу.
*

Tigr

  • Новичок
  • 3
  • 0 / 0
Спасибо за советы. Проблема решена методом полной переустановки Joomla с добавлением шаблона, файлов и т.п.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как заставить Joomla 1.5 работать на сервере с MySQL версии 5.7 и выше?

Автор Palomnik

Ответов: 14
Просмотров: 8298
Последний ответ 01.10.2024, 00:22:40
от jesus
Как установить Joomla 1.5 на php 7?

Автор Marius

Ответов: 8
Просмотров: 3945
Последний ответ 30.05.2021, 21:11:21
от Marius
При попытке войти в админку 404 ошибка компонента - Joomla 1.5: Общие вопросы

Автор omezik

Ответов: 1
Просмотров: 3556
Последний ответ 30.08.2019, 16:10:56
от voland
Нужно починить модуль импорта на сайте Joomla

Автор matus-8

Ответов: 0
Просмотров: 3347
Последний ответ 22.08.2019, 15:09:17
от matus-8
Вопросы про обновление с 1.5 до 3.х

Автор L29

Ответов: 21
Просмотров: 3877
Последний ответ 22.08.2019, 12:59:33
от SeBun