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

Добрый день.
Я скачал и установил Денвер 3, он работает. скачал Joomla 1.5.15, скачал и установил filezilla. вопрос: как с помощью filezilla залить Joomla? и куда разархивировать Joomla?
*

Re.spekT

  • Новичок
  • 5
  • 0 / 0
Re: проблема с установкой Joomla
« Ответ #1 : 12.02.2010, 00:29:28 »
Кстате прога очень лёгкая
Сверху в водиш имя хоста gjs.ru(например) потом ник и пароль только не сайта а фтп сервера
Потом загружается сервер с право показывает содержимое сайта А с лево твой комп
И потом как в тотоле командаре кидаеш в папку на твоём серваке она типа www ну или ещё что я незнаю
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: проблема с установкой Joomla
« Ответ #2 : 12.02.2010, 00:33:55 »
для работы на локальном хосте не требуется фтп клиент типа filezilla, любым файловым менеджером заливаете содержимое архива движка в каталог, предварительно прочитав Joomla FAQ
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Re.spekT

  • Новичок
  • 5
  • 0 / 0
Re: проблема с установкой Joomla
« Ответ #3 : 12.02.2010, 00:39:38 »
для работы на локальном хосте не требуется фтп клиент типа filezilla, любым файловым менеджером заливаете содержимое архива движка в каталог, предварительно прочитав Joomla FAQ


кстати с filezilla  быстрее качает  !
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: проблема с установкой Joomla
« Ответ #4 : 12.02.2010, 00:45:51 »
кстати с filezilla  быстрее качает  !
кто качает, куда качает? Файлы на локальный сервер? Мосье вы вообще о чем говорите
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Re.spekT

  • Новичок
  • 5
  • 0 / 0
Re: проблема с установкой Joomla
« Ответ #5 : 12.02.2010, 01:02:57 »
Что бы закачать на хост выделенный локальной сетью ведь через  filezilla быстрее



Прошу прощень если я что то не понимаю по ка что учусь ^-^
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: проблема с установкой Joomla
« Ответ #6 : 12.02.2010, 01:05:42 »
Что бы закачать на хост выделенный локальной сетью ведь через  filezilla быстрее
человек говорит про локальный сервер, организованный на базе денвера, никакая локальная сеть здесь ни при чем совершенно
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как заставить 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
Проблема с категорией id1 при миграции

Автор dron

Ответов: 6
Просмотров: 5646
Последний ответ 08.10.2019, 20:04:49
от dron
При попытке войти в админку 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