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

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
По заказу г-на Soulja мною написан новый

мамбот Всплывающих изображений.

По согласованию с заказчиком мамбот распространяется свободно.

Что это?
Мамбот ThumbImage служит заменой стандартному мамботу mosImage, и позволяет организовать вывод картинок во всплывающих окнах.

Возможности мамбота:
* выводить полноразмерное изображение в попап-окне или нет,
* задать размеры превью-картинки в тексте.

Синтаксис:
{thumbimage 100px 1}, где:
100px - размер превью в тексте
1 (или 0) - выводить полную картинку в попап-окне или нет.

Все параметры мамбота являются обязательными.

После установки мамбота необходимо его опубликовать, а стандартный мамбот mosImage снять с публикации!

Так же написан мамбот кнопки для визуального редактора, облегчающий вставку тегов в тексты.

Забираем... :)

Прошу прочесть один раз и запомнить:

поддержка всех моих расширений на этом форуме прекращается!

Все имеющиеся вопросы по моим расширениям можно задавать в моем форуме.


[вложение удалено Администратором]
« Последнее редактирование: 08.11.2008, 07:24:53 от Adeptus »

Очень хороший мамбот. Спасибо Александру за отличную работу.
*

chishir

  • Новичок
  • 8
  • 0 / 0
ну вообщем конечно прикольно, только редко нужно, РЕСПЕКТ
« Последнее редактирование: 14.11.2007, 14:26:01 от chishir »

где это добавить  в шаблоне joomla  и ли в шаблоне форума ??
Цитировать
Не забудьте добавить в секцию <header> файла index.php вашего шаблона 2 строки:

<link href="<?php echo $mosConfig_live_site;?>/mambots/content/thumbs/thumbnailviewer.css" rel="stylesheet" type="text/css" media="screen" />
<script language="javascript" type="text/javascript" src="<?php echo $mosConfig_live_site;?>/mambots/content/thumbs/thumbnailviewer.js"></script>
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
В шаблон Joomla!
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
дак может сделать системный мамбот, который сам будет добавлять в head эти строки?
ТОгда даже шаблон не надо будет править, да и написать его - дело 10-и минут и проверит ьещё 5 минут :)
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
дак может сделать системный мамбот, который сам будет добавлять в head эти строки?
Э-э-э, нет... Написать-то это не сложно. Да и не нужно - можно было подгружать скрипт прямо из мамбота!
Однако мы отлично знаем, как нынче различные яваскрипты и фреймворки любят конфликтовать друг с другом - вплоть до полной неработоспособности! Ручное добавление позволит легко выявить такой конфликт.
*

FxPunter

  • Давно я тут
  • 691
  • 112 / 7
  • Э-эх!
Пожалуйста, скажите, как это использовать. Все опубликовано. Нажимаю кнопку, появляется {thumbimage 100px 1} А куда адрес картинки вставлять?? :(
*

Robinson

  • Захожу иногда
  • 442
  • 72 / 1
А как стандартный, один в один. Ссылок каждый раз прописывать не надо. (Из инструкции: Мамбот обрабатывает добавление изображений к содержимому точно так же, как и стандартный мамбот MosImage. Поэтому вы можете использовать для вставки изображений в тексты стандартный механизм, предусмотренный в Joomla!). Только еще код в шаблон не забыть вставить.

а какой из 2 архивов скачивать? куда распаковывать эти архивы? эти всплывающие картинки можно будет применить к картинкам из gallery2 через мост?
« Последнее редактирование: 02.12.2007, 09:42:02 от pinkponk »
*

FxPunter

  • Давно я тут
  • 691
  • 112 / 7
  • Э-эх!
а из какой папки берутся изображения?
*

Robinson

  • Захожу иногда
  • 442
  • 72 / 1
а из какой папки берутся изображения?
Изображения берутся из стандартных папок, доступных при редактировании (создании) материала, и выбирать их надо самим, и публиковать надо, и выравнивать (слева, справа, в центре), все это надо делать в момент создания материала. Все надо делать стандартно, только вместо {mosimage} надо {thumbimage 100px 1}
*

Robinson

  • Захожу иногда
  • 442
  • 72 / 1
а какой из 2 архивов скачивать? куда распаковывать эти архивы? эти всплывающие картинки можно будет применить к картинкам из gallery2 через мост?
Первый архив - сам мамбот, второй архив - кнопка, которая появляется в ряду со стандартной  кнопкой для вставки изображения под окном редактора. Кнопку можно и не создавать, а писать вручную {thumbimage 100px 1}, это для удобства сделано.
Распаковывать не нужно, надо установить стандартным методом, как мамбот.
*

iT)ZevS(

  • Захожу иногда
  • 177
  • 31 / 2
а чем он лучше multithumb?
*

AndreySm

  • Захожу иногда
  • 68
  • 1 / 0
подскажите как изменить файл ява скрипта, так что бы попап появлялся при наведении на превьюшку, а при уходе мышки с превьюшки попап закрывался.
сам не силен в ява скриптах
простое изменение onclik не совсем корректно работает
*

Garun

  • Захожу иногда
  • 304
  • 17 / 3
Очень приятный бот! Спасибо.
Если позволите, скажу что очень хотелось бы к нему добавить:
1. Подписи к изображению (из альта)
2. Затенение фона
3. (и уж совсем нагло;)) перелистывание изображений при просмотре.

Возможно?
Готов к труду и обороне!
*

Garun

  • Захожу иногда
  • 304
  • 17 / 3
Тумбмейлы по умолчанию выравниваются по нижнему краю... а надо - по верхнему... где копать?
Готов к труду и обороне!
*

Romp

  • Новичок
  • 9
  • 0 / 0
Можно сделать загрузку изображений прямо при написании материала через обзор с локального компьютера???
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
Adeptus, а когда картинка в статье, он весит столько же, сколько всплывающий оригинал ?
*

Taras

  • Осваиваюсь на форуме
  • 25
  • 0 / 1
Э-э-э, нет... Написать-то это не сложно. Да и не нужно - можно было подгружать скрипт прямо из мамбота!
Однако мы отлично знаем, как нынче различные яваскрипты и фреймворки любят конфликтовать друг с другом - вплоть до полной неработоспособности! Ручное добавление позволит легко выявить такой конфликт.
Вот как раз у меня такой случай. Когда я вставляю этот код в секцию head моего шаблона siteground Joomla 1.5 (пробовал и в самом начале секции и в самом конце, перед закрывающим тегом), то при открытии любого документа появляется абра-кадабра.
Можно ли это исправить, куда лучше вставить две строчки кода в шаблоне?
*

Garun

  • Захожу иногда
  • 304
  • 17 / 3
Если позволите, скажу что очень хотелось бы к нему добавить:
1. Подписи к изображению (из альта)
2. Затенение фона
3. (и уж совсем нагло;)) перелистывание изображений при просмотре.
4. Качество превью "ниже пола"...

Adeptus, Вы будете продолжать работу над мамботом? Если вопрос в деньгах - давайте обсудим!
Готов к труду и обороне!
*

gutadar

  • Новичок
  • 9
  • 1 / 0
Жалко, что в описании товаров в VM вставить нельзя без указания ссылки или выбора пути файла или я просто не знаю как?
А так очень приятный бот, понравился.
*

FxPunter

  • Давно я тут
  • 691
  • 112 / 7
  • Э-эх!
для VM кажется предлагалось решение вопроса с картинками в виде лупы, увеличивающей изображение при наведении.
*

gutadar

  • Новичок
  • 9
  • 1 / 0
Искал, но кроме платных, например, _http://www.marcofolio.net/downloads/joomla/mffancyzoom/download.html (если не ошибся) не увидел ни плавно всплывающее, ни  под лупой увеличение. А так и то и то использовал бы ...
Неточно - нельзя использовать на коммерческих ..., а так можно.
*

FxPunter

  • Давно я тут
  • 691
  • 112 / 7
  • Э-эх!
*

Krlifer

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Как сделать чтобы водные знаки накладываелись только на полное изображение?
Пример скрипта водных знаков: http://webscript.ru/stories/06/08/29/2943364

отличный мамбот. с  dynamicImage у меня как-то не получилось, что-то не показывал он превьюхи. а вот с этим все отличненько сраслось) спасибо)
*

RezistoR

  • Захожу иногда
  • 74
  • 1 / 0
  • Danger! High Voltage!
Классный мамбот- всё заработало.

Вот только момент: у меня стоит сейчас dynamicImage и он картинки которые меньше 450px(т.е. как раз ширина моего поля на сайте) не трогает, а этот мамбот, если я ставлю размер в {thumbimage 100px 1} больше чем размер самой картинки, начинает её увеличивать(растягивать). А нельзя сделать так, чтоб он не увеличивал размер картинки а ограничивался её реальным размером? И если даже в параметрах {thumbimage 100px 1} ставить размер больше чем размер самой картинке он не применял к ней ни каких действий а оставлял её в реальном размере.

Дело в том что я хотел бы перейти на этот мамбот, а стоит dynamicImage, сейчас если в БД все теги заменить, то придётся тогда в ручную для остальных картинок (которые меньше ширины поля на моём сайте) редактировать размер, а этого не очень хочется, т.к. картинок достаточно много и боюсь что нибудь пропустить, чтоб это автоматичеки как то легло.
« Последнее редактирование: 12.06.2008, 02:06:21 от RezistoR »
*

kokus

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
А можно как то реализовать вывод водяных знаков на изображениях? А вообще мамбот очень понравился, автору респект!
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
А можно как то реализовать вывод водяных знаков на изображениях? А вообще мамбот очень понравился, автору респект!

Все можно. Но нужна доработка.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль "ЛОГО" (скачать)

Автор Adeptus

Ответов: 22
Просмотров: 16639
Последний ответ 23.12.2012, 08:11:03
от aspidy
Модуль «Подсветка» (скачать)

Автор Adeptus

Ответов: 5
Просмотров: 2860
Последний ответ 17.04.2011, 19:47:19
от yuri-design
Модуль "Живой поиск" (скачать)

Автор Adeptus

Ответов: 90
Просмотров: 43150
Последний ответ 24.02.2011, 19:53:49
от EXPERTKZ
Авто-переводчик на 15 языков (скачать)

Автор Adeptus

Ответов: 28
Просмотров: 31917
Последний ответ 15.01.2011, 21:59:38
от Larisa
Русский мамбот MOS File

Автор Adeptus

Ответов: 8
Просмотров: 14190
Последний ответ 23.12.2010, 02:06:14
от vitamin818