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

zikkuratvk

  • Глобальный модератор
  • 4819
  • 345 / 2
  • Обслуживаем проекты - дорого.
В этой теме обсуждается только перевод файлов локализации для Joomla! 4.x: терминология, орфографические ошибки, непереведённые слова. Приветствуется любая конструктивная критика!

Если вы хотите сообщить о найденной ошибке или предложить более удачный вариант перевода какого-либо термина желательно максимально точно указывать место, где была обнаружена неточность, а так же версию архива файлов локализации.

Пакет локализации Joomla 4.0 (сайт и панель управления) (дата обновления: 17.08.2021)
downloads.joomla.org (официальный репозиторий)

У локализации есть официальная страница на JoomlaPortal.ru - сайт официальных локализаторов Joomla в России.

Если вы считаете, что в локализации необходимо что-то исправить или просто хотите помочь с переводом, добро пожаловать на GitHub, именно там мы переводим Joomla.

Огромное спасибо всем участникам группы тестирования локализации за помощь в переводе и за подготовку русифицированной сборки.

Как помочь проекту русской локализации Joomla

1. Самая важная и нужная помощь - это ваша критика, замечания и предложения по улучшению локализации.
2. Исходные файлы и файлы для сборки вы можете взять на Github.
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Приветствую. Большое спасибо за проделанную работу!
Из того, что попалось на глаза, в Общие настройки - система - параметры кэша,
Platform specific caching перевели как Специфическое кэширование.
Там и так всё запутано со стандартным кэшированием и прогрессивным. Эта опция создаёт отдельный кэш для мобильных и для компьютеров. Возможно как-то подробнее перевести, как Кэширование с учетом платформы.
*

Kostelano

  • Давно я тут
  • 525
  • 52 / 1
Приветствую. Большое спасибо за проделанную работу!
Из того, что попалось на глаза, в Общие настройки - система - параметры кэша,
Platform specific caching перевели как Специфическое кэширование.
Там и так всё запутано со стандартным кэшированием и прогрессивным. Эта опция создаёт отдельный кэш для мобильных и для компьютеров. Возможно как-то подробнее перевести, как Кэширование с учетом платформы.
Аналогично переведено было и для Joomla 3.

Проблема в том, что в Joomla 4 убрали практически все подсказки (при чем иногда даже для тех параметров, где подсказка очень нужна, чтобы понимать о чем речь).

В Joomla 3:
Код
COM_CONFIG_FIELD_CACHE_PLATFORMPREFIX_LABEL="Специфическое кэширование"
COM_CONFIG_FIELD_CACHE_PLATFORMPREFIX_DESC="Включить или отключить специфическое кэширование для платформы. Включите параметр, если HTML-страница сайта на мобильном устройстве отличается от других устройств (по умолчанию <strong>Нет</strong>)."
В Joomla 3 en-GB:
Код
COM_CONFIG_FIELD_CACHE_PLATFORMPREFIX_LABEL="Platform Specific Caching"
COM_CONFIG_FIELD_CACHE_PLATFORMPREFIX_DESC="Enable or disable platform specific caching. Enable when HTML output on mobile differs from other devices. (Default disabled.)"
Как вариант, могу предложить оставить issue в репе Joomla с просьбой вернуть описание для конкретного параметра. Или же создайте прям в их репу PR.
*

Helios

  • Захожу иногда
  • 421
  • 31 / 1
  • Аэтошозадеталь?
В файле plg_system_updatenotification.ini для PLG_SYSTEM_UPDATENOTIFICATION_EMAIL_BODY стоит исправить двойные одинарные кавычки.

Код
или не отключите плагин ''Система - Уведомление об обновлении Joomla''.
на
Код
или не отключите плагин \"Система - Уведомление об обновлении Joomla\".
/* Have a nice day! */
*

Kostelano

  • Давно я тут
  • 525
  • 52 / 1
В файле plg_system_updatenotification.ini для PLG_SYSTEM_UPDATENOTIFICATION_EMAIL_BODY стоит исправить двойные одинарные кавычки.

Спасибо, исправлено в J3 и J4.
*

Helios

  • Захожу иногда
  • 421
  • 31 / 1
  • Аэтошозадеталь?
В J4 в админке для англ. языка в com_cache.ini
COM_CACHE_EMPTYSTATE_TITLE="You have no cached content."

Для русского:
COM_CACHE_EMPTYSTATE_TITLE="Очистка кэша"

Нужно бы поправить перевод, т.к. не соответствует.

То же самое для COM_CACHE_PURGE_EXPIRED и COM_CACHE_PURGE_EXPIRED_ITEMS
/* Have a nice day! */
*

Kostelano

  • Давно я тут
  • 525
  • 52 / 1
Вчера вышла Joomla 4.2.0 Beta 3. Есть новые плагины (многофакторная аутентификация, рефакторинг WebaAthn, горячие комбинации клавиш) + по мелочи.

Кто хочет потестить - для Beta 3 перевод готов. Поправки, замечания и пожелания можно писать здесь или на Github.
*

kochevnik

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
при установке язык не устанавливается (
Цитировать
Не удалось подключиться к серверу: Encountered end of file.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Узбекский язык для Joomla 5

Автор Kseniya1980

Ответов: 19
Просмотров: 1567
Последний ответ 02.04.2025, 11:13:04
от Kseniya1980
Синхронизация Joomla с облачными сервисами

Автор lekstar_67

Ответов: 1
Просмотров: 896
Последний ответ 07.01.2025, 22:41:08
от sivers
Проблема установки русского языкового пакетав Joomla 4

Автор Ebelous

Ответов: 9
Просмотров: 3456
Последний ответ 13.12.2024, 17:18:29
от nadezhdabel55
Проблема установки русского языкового пакетав Joomla 4

Автор Ebelous

Ответов: 5
Просмотров: 2800
Последний ответ 25.01.2024, 12:12:41
от Ebelous
Где взять шаблоны от производителей для Joomla 5

Автор panglos

Ответов: 5
Просмотров: 2774
Последний ответ 15.12.2023, 16:50:52
от Sulpher