Новости 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 Ответов
  • 1532 Просмотров
*

jenya-p

  • Новичок
  • 4
  • 0 / 0
Подскажите, как в админке сделать копирование картинок в медиа-менеджер по известному URL из сети,
как альтернатива загрузке.
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: Импорт картинок из сети по URL
« Ответ #1 : 11.04.2012, 14:56:10 »
всмысле? компонент который ,будет отображать фото с другого сайта?
« Последнее редактирование: 11.04.2012, 16:09:36 от tefun »
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Импорт картинок из сети по URL
« Ответ #2 : 11.04.2012, 15:03:51 »
Если просто отображать картинки с другого сайта - ничего сложного. Просто прописываете абсолютрый путь в src. Если нужно копировать их в папку images автоматом, то сложнее. Тут какой-то парсер надо писать.
tefun, в слове "убет" букву "е" пропустил (вторая)? ^-^
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: Импорт картинок из сети по URL
« Ответ #3 : 11.04.2012, 15:14:32 »
tefun, в слове "убет" букву "е" пропустил (вторая)? ^-^
поправил ;)
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Импорт картинок из сети по URL
« Ответ #4 : 11.04.2012, 15:56:26 »
всмчсле
всмЫсле ? :)
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Импорт картинок из сети по URL
« Ответ #5 : 11.04.2012, 16:15:23 »
Подскажите, как в админке сделать копирование картинок в медиа-менеджер по известному URL из сети,
как альтернатива загрузке.
Нет такой функции насколько я знаю. Хотя вот например установка расширений с указанием uri источника - такая возможность есть. Я думаю проще через сторонний скрипт загружать картинки с других серверов. Или проще скачать каким то образом на локальный комп, а потом залить по фтп. Или эти варианты не подходят?
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: Импорт картинок из сети по URL
« Ответ #6 : 11.04.2012, 16:20:05 »
Или проще скачать каким то образом на локальный комп, а потом залить по фтп. Или эти варианты не подходят?
хе-хе, да уж наверно
думаю ТС надо компонент какой то специальный
хотя, посмотрим, может и так
ТС придет отпишится
просто хотел кинуть способ вывода галареи пикасса, думал может это, но помоему не то
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Re: Импорт картинок из сети по URL
« Ответ #7 : 11.04.2012, 19:20:07 »
Подскажите, как в админке сделать копирование картинок в медиа-менеджер по известному URL из сети,
как альтернатива загрузке.

Кто бы мне подсказал как сделать в админке копирование статей в менеджер материалов по известному номеру страницы и расположению на книжной полке...   ;)
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не отображается рекомендательный виджет рекламной сети Яндекс

Автор MultiMatrix83

Ответов: 0
Просмотров: 1022
Последний ответ 25.12.2020, 19:09:09
от MultiMatrix83
Обновление размера картинок материалов тэгов к2

Автор JustRe1ax

Ответов: 0
Просмотров: 1254
Последний ответ 04.10.2017, 15:59:47
от JustRe1ax
Проблема с превьюшками картинок

Автор Vova_22

Ответов: 0
Просмотров: 1020
Последний ответ 05.05.2017, 12:47:36
от Vova_22
Выбор картинки со страницы при указании ссылки в сообщениях (почта/соц.сети)

Автор olga_gos

Ответов: 2
Просмотров: 1748
Последний ответ 05.02.2017, 13:13:14
от olga_gos
Сдвиг картинок в таблице

Автор migor69

Ответов: 6
Просмотров: 972
Последний ответ 14.10.2016, 06:12:39
от migor69