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

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
а кофликтовать ф-волки не будут?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
а есть что-то готовое, посмотреть?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Пока только 1 раздел, локально делаю
*

tamogoch

  • Захожу иногда
  • 56
  • 1 / 0
Как же я ненавижу этот jbzoo за их уродский в плане верстки код! Любая задача по более-менее сложной стилизации оборачивается в многочасовую возню  :-X

И что же не так в верстке? По-моему все нормально.
В последней версии 220 там даже добавили автоматический less, uikit и серьезно причесали стили и классы.
Начиная с бета-версии, верстаю небольшой магазин, доволен как слон.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Погода не особо лётная, но летать можно  ;D
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

tamogoch

  • Захожу иногда
  • 56
  • 1 / 0
Погода не особо лётная, но летать можно  ;D
А у нас отличная погода. Жара стоит все праздники, а ночами дождь сбивает пыль.
*

zikkuratvk

  • Глобальный модератор
  • 4819
  • 345 / 2
  • Обслуживаем проекты - дорого.
Жары нет :-) пыли нет... :-) относительно тепло... ))
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Погода как на крайнем севере6 каждые 15 мин маленький дождь, потом на 15 мин солнце печет, след 15 мин налетает ветер, потом ветер стихает, набегают тучки, чернее ночи, через 20-30 мин тучки светлею, начинается дождь, и так по кольцу каждые 1,5 часа, к ночи ветер сильнее, к утру ветра нет почти, просветы подольше держаться. И это на границе среднего и нижнего поволжья...

Праздники не удались. Погода отвратительная - выезд на природу отдыха не принес, мясо жесткое, вино кислое, башка пухлая.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Это особая уличная магия(с)  ;D  Видно кому-то скучно "вверху".
В Киеве солнечно, даже жарко, я б сказал... Начинают девчата "раздеваться"  ;)
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Тестирую форум. Так как нет функции отписаться от темы, пробую удалить свои сообщения в ней.
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Телик, кресло, разливное, свежее, холодное пиво, много, рыбка, тепло, лето, отпуск с 1 июня. Уряяя.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Телик, кресло, разливное, свежее, холодное пиво, много, рыбка, тепло, лето, отпуск с 1 июня. Уряяя.
;D
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dremora

  • Захожу иногда
  • 461
  • 48 / 12
Фронтендю...
Делаю свой первый SPA, RESTfull сайт.
Уже на самом деле всё основное сделал.
Теперь нужно будет оптимизировать его, чтобы память не жрал.
Всё что не анархия, то фашизм...
*

Sandra

  • Захожу иногда
  • 69
  • 37 / 2
  • Дедушка Игнат, приди )))))
Страдаю фигнёй. Сна ни в одном глазу (((
Все девочки козлы и хотят от мальчиков только секса ))))
Форум - это маленькая жизнь...
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Страдаю фигнёй. Сна ни в одном глазу (((
Ого, пост после 1,5 лет тишины ))
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
пиво пью, флужу куда не лень)))
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
пиво пью, флужу куда не лень)))
Уже терпеть пиво не могу, гадость полная..

ЗЫ
Спойлер
[свернуть]
*

Sandra

  • Захожу иногда
  • 69
  • 37 / 2
  • Дедушка Игнат, приди )))))
Ого, пост после 1,5 лет тишины ))

Ну, где надо я не пропадала  ^-^
Блин, как быстро время летит....
Все девочки козлы и хотят от мальчиков только секса ))))
Форум - это маленькая жизнь...
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Вова, хотело ответить в скайпе, но ...
смотря какое вино.я 17 15 Львовское
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Вова, хотело ответить в скайпе, но ...
смотря какое вино.я 17 15 Львовское

Перепил, иди домой!
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
ржу не могу)))
за флудили тему.
но есть одно, что мне нра-вы живые и я рад, что вы именно такие
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
сижу, туплю в Joomlaфорум.кошка рядом.обиделась
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Sandra

  • Захожу иногда
  • 69
  • 37 / 2
  • Дедушка Игнат, приди )))))
сижу, туплю в Joomlaфорум.кошка рядом.обиделась
Кстати, надо бы своего кота поискать... Давно не орал. Похоже я нашла себе занятие  ;D
Все девочки козлы и хотят от мальчиков только секса ))))
Форум - это маленькая жизнь...
*

voland

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

Sandra

  • Захожу иногда
  • 69
  • 37 / 2
  • Дедушка Игнат, приди )))))
Я своего там не нашла, но нашла ананас в банке. Утешилась )))
Все девочки козлы и хотят от мальчиков только секса ))))
Форум - это маленькая жизнь...
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
пол 6-го почти, кошка разбудила охотой на мои руки.Пришлось кормить, чтоб отстала.
4 мес моей рыське.
двортерьер, но умная не по годам и наглая и хищная, ппц.
***
вызвал машину свою, привёз пиво водила и корм котяре, сижу флужу.
***
и вам доброе утро!
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Сижу на мойке с мобилки. Ноут сдох еще часа 2 назад выдержав скинуть 40 без электричества
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Нужно было начать работу еще позавчера, а я все откладываю. Со временем знания прибавилось, а удовольствия - наоборот. Все стало рутиной, уже нет той эйфории, которую получаешь когда код заработал после многочасовой отладки.
С этим нужно что-то делать.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
+1
вы правы, пропадает почему-то радость от написания кода.максимум деньги за код, но они радуют только бытовым способом, а в душе ничего приятного.
поэтому пиво чередую, чтоб как-то скрасить это.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться