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

Infosakh

  • Завсегдатай
  • 1257
  • 67 / 0
нет, при указании у пользователя этот редактор все равно не выводится, остается дефолтный, ТиниМСЕ. Поставил по дефолту этот редактор, появился, сейчас попробую карточку завести в VM посмотрим вставляет теги ul и /ul при сохранении
*

Infosakh

  • Завсегдатай
  • 1257
  • 67 / 0
а так должно быть, что при вставке текста обычным копипастом все теги исходного текста убираются, и вставляется чистый текст без единого тега?
*

hozman

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
 Я вот только не понял, в чё визуальность этого редактора... разница от не велика от других редакторов. А визуальности то никакой нет... Странное у вас какое-то обсуждение.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Я вот только не понял, в чё визуальность этого редактора...
Прочитайте заголовок еще раз и еще три раза - "невизуальный редактор"
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

vov41k

  • Осваиваюсь на форуме
  • 14
  • 1 / 1
Здравствуйте.

Просьба добавить кнопки:
1. выравнивание - по левому краю, по правому, по центру
2. добавление флеш ролика (желательно с выбором размера)
3. цитата
4. Добавление изображения
*

dynamit

  • Завсегдатай
  • 1744
  • 265 / 0
  • Winter Is Coming
Здравствуйте.

Просьба добавить кнопки:
1. выравнивание - по левому краю, по правому, по центру
2. добавление флеш ролика (желательно с выбором размера)
3. цитата
4. Добавление изображения


сильная просьба, на пять минут делов-то  :)

как вариант посмотрите - Расширенная кнопка вставки изображения (ImageButton - xtd)
ТАМ ГДЕ ТЫ НИЧЕГО НЕ МОЖЕШЬ, ТЫ НЕ ДОЛЖЕН НИЧЕГО ХОТЕТЬ
==========================================================
Сайты на Joomla!. Верстка. Консультации.  ||  Яндекс уже не ищет, он уже продает (с)  ||    Создание шаблона для Joomla 2.5
*

orchanin

  • Захожу иногда
  • 172
  • 3 / 0
Вот если бы еще работал ctrl+z отменить действие.
*

Darkick

  • Завсегдатай
  • 1142
  • 239 / 1
а оно и работает - это уже от браузёра зависит
*

orchanin

  • Захожу иногда
  • 172
  • 3 / 0
Спасибо так и есть!
*

StyleT

  • Новичок
  • 2
  • 0 / 0
Спасибо за редактор, допилил его под BBCode и радуюсь)
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
Будут ли еще какие-нибудь дополнения и новые версии плагина СodEditor?
*

Frizzka

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Подскажите пожалуйста решение, для автоматической вставки тега BR при нажатии не энтер, так же как и в TinyMCE !! очень нужно...
*

Dimon

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
*

Dimon

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
дайте пример для изменения кода чтоб всавить свои теги, а то почемута у меня не получается, например вставил тег ютуб, кнопка работает, но видео не втсавляется, почему?
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
я вставил следующим образом:
Код
<img src="'.$imgpath.'/imagepl.png" alt="Картинка плагиным" title="Картинка плагиным" onClick="addText(\'{limage}\', \'{/limage}\') " />&nbsp;
<img src="'.$imgpath.'/guest.png" alt="Скрыть" title="Скрыть часть текста от гостей" onClick="addText(\'{gcontent}\', \'{/gcontent}\') " />&nbsp;
<img src="'.$imgpath.'/design.png" alt="Придать тексту оформление" title="Придать тексту оформление {cdesign style1-5}" onClick="addText(\'{cdesign style1}\', \'{/cdesign}\') " />&nbsp;
<img src="'.$imgpath.'/mossh.png" alt="Вставить заготовленный текст" title="Вставить заготовленный текст {mossh1-5}" onClick="addText(\'{mossh1}\', \'\') " />
сразу после вот этого кода:
Код
<img src="'.$imgpath.'/h6.png" alt="Заголовок H6" onClick="addText(\'<h6>\', \'</h6>\') " />
<img src="'.$imgpath.'/spacer.png" alt="" />
Вот же я писал как вставить дополнительные теги для дополнительных кнопок
*

sashaab

  • Осваиваюсь на форуме
  • 11
  • 2 / 0
Скажите, под версию Joomla 2.5 не планируте передалать плагин?

сам разобрался, файл codeditor.php, строчки 156-157 меняем на:
Код
$app = &JFactory::getDocument();
$app->addCustomTag($header);

строчку 165 на:
Код
$imgpath = JURI::root().'plugins/editors/codeditor/codeditor/ico';

« Последнее редактирование: 01.05.2012, 23:56:02 от sashaab »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Скажите, под версию Joomla 2.5 не планируте передалать плагин?
Планирую, причем скрестить с стандартным codemirror в плане подсветки строк и проверки синтаксиса, сто лет хочу, все лень и недосуг
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dennioushen

  • Захожу иногда
  • 86
  • 0 / 0
  • Don Corleone
beliyadm
Какие-то наработка уже есть!? Или не начинал еще...
*

omsk_mail

  • Захожу иногда
  • 85
  • 0 / 0
  • Нет смысла быть скромным,если ты лучший
Есть продвижения??
*

Barmens

  • Новичок
  • 2
  • 0 / 0
Замечательная вещь! А можно ли каким-нибудь образом сделать, чтобы автоматически проставлялись тэги перехода на следующую строку?
Ха, помню не было такого. А теперь есть *DRINK*
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин-кнопка для редактора

Автор d0ublezer0

Ответов: 8
Просмотров: 3279
Последний ответ 14.01.2020, 17:43:52
от effrit
[Решено] Ошибка при включении редактора в Joomla 2.5

Автор ПАХОМ

Ответов: 2
Просмотров: 3545
Последний ответ 02.10.2012, 17:38:55
от fedragon
Не отображается окно редактора (решение)

Автор sc@r@bey

Ответов: 5
Просмотров: 19313
Последний ответ 22.07.2011, 09:11:54
от Rossling
Поиск HTML-редактора с кнопками тегов и подсветкой синтаксиса (а-ля, Home Site)

Автор ohotnik

Ответов: 23
Просмотров: 26058
Последний ответ 06.11.2010, 14:43:39
от ohotnik
не работают функции виз. редактора в IE

Автор ejik_off

Ответов: 3
Просмотров: 2515
Последний ответ 13.10.2010, 10:45:02
от ejik_off