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

bls45

  • Новичок
  • 3
  • 0 / 0
После обновление в админке не видит расширение Chronoforms_V4.0.6, на сайте форма работает нормально.
К кому обратиться с этой проблемой.
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблемы после обновления до 3.5.0
« Ответ #2 : 08.05.2016, 17:40:42 »
Обновите всё таки до последней и переустановите компонент формы.
БД не затронет.
Обязательно физический бекап.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

bls45

  • Новичок
  • 3
  • 0 / 0
Re: Проблемы после обновления до 3.5.0
« Ответ #3 : 08.05.2016, 19:12:09 »
К разработчикам вестимо
У разработчика написано
ChronoForms V4 подходит к версиям J3.x
https://www.chronoengine.com/downloads/chronoforms.html

Обновился до Joomla 3.5.1, то же самое приложение ChronoForms V4 в админке не видно, пустая страница.
В последней версии до обновлении Joomla 3.4.8 приложение ChronoForms V4 в админке было видно, от сюда напрашивается вывод, что Joomla 3.5 не до работана.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблемы после обновления до 3.5.0
« Ответ #4 : 08.05.2016, 19:37:20 »
А теперь деинсталируйте Хроноформу и проинстальте последнюю версию.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Проблемы после обновления до 3.5.0
« Ответ #5 : 08.05.2016, 19:46:23 »
А какая последняя версия ChronoForms?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблемы после обновления до 3.5.0
« Ответ #6 : 08.05.2016, 19:53:42 »
А какая последняя версия ChronoForms?
5-тая. Но не 4-я, как у ТС.
http://www.chronoengine.com/downloads/chronoforms.html

То что ТС пишет про "подходит" не факт, что и подходит.Раз ТС обновил движок(надеюсь граммотно), удалите и проинстальте 5-ю.
Возможно отпадут вопросы.

Банальный вопрос:а версия php хоста соответствует вообще заявленному расширению?

! https://www.chronoengine.com/faqs/70-cfv5/5272-chronoforms-v5-with-joomla-3-5-and-php-7.html

Если нет, по ссылке указано, как фиксить.И ту же 4-ку.
« Последнее редактирование: 08.05.2016, 20:02:08 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблемы после обновления до 3.5.0
« Ответ #8 : 08.05.2016, 23:16:50 »
Хм, кто-то врет
Ты про кого?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Проблемы после обновления до 3.5.0
« Ответ #9 : 08.05.2016, 23:51:03 »
У разработчика написано
ChronoForms V4 подходит к версиям J3.x
5-тая. Но не 4-я, как у ТС.
Вот. Булева логика же.

Я конечно могу сказать что ТС врет и дурачок, но скажете опять что я не политкорректен..
Так что я не в курсе кто, но кто-то врёт )
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблемы после обновления до 3.5.0
« Ответ #10 : 08.05.2016, 23:59:29 »
А что не ясно? Тс пишет, использовал не обновл.J, уже вроде обновил(по его словам)
Но разраб Хроны указывает(давал ссылку), что 5-я версия,4-я также фиксится, для опр. пхп7, и если вы используете ниже-фиксите по ихним указаниям-тоже в ссылке у разраба.

ТС видно не обновил чтото из 2-х или не следует синхронности ядра, версий расширения и хоста.
У меня Хрон пашет, ставил ради интереса сегодня, дабы не быть балословным.
Но у меня хост и пхп7 поддерживает.так что мне трудно что-то сказать.
///
Укажите ТС просто вашу версию PHP хоста.И всё.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

bls45

  • Новичок
  • 3
  • 0 / 0
Re: Проблемы после обновления до 3.5.0
« Ответ #11 : 09.05.2016, 08:22:54 »
Проблема решена.
Всем спасибо, поздравляю с 9 мая.

В Joomla 3.5.1 переустановил ChronoForms V4 и всё заработало.
Страницу компонента ChronoForms V4 в админке видно и можно редактировать.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблемы после обновления до 3.5.0
« Ответ #12 : 09.05.2016, 08:29:32 »
Ну вот, что и говорил, пообновляйте и будет счастье.А то развели мы тут демагогию про версии, хосты...
Ларчики открываются просто (с)
И вас с праздником!
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Все изменения появляются в старой базе данных и ftp после смены хостинга

Автор makena0606

Ответов: 2
Просмотров: 2106
Последний ответ 09.02.2024, 10:21:47
от Vastriet
Не грузится страница админки, после смены хостинга. Но сам сайт работает

Автор Janitor

Ответов: 2
Просмотров: 1275
Последний ответ 02.07.2023, 10:37:01
от Janitor
После обновления до Joomla 3.7 в админке в меню "Компоненты" пропали пункты

Автор lolitma3

Ответов: 39
Просмотров: 13131
Последний ответ 15.06.2023, 11:55:16
от Victor333
Белый экран после перехода с пхп7.4 на пхп8

Автор gorbi_U

Ответов: 2
Просмотров: 1203
Последний ответ 24.01.2023, 23:45:45
от beliyadm
Проблемы с Google Authenticator в Joomla 3

Автор sarvasvova

Ответов: 5
Просмотров: 2624
Последний ответ 19.10.2022, 12:34:15
от jaspritvid