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

Adeptus

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

БУХГАЛТЕРСКИЙ КАЛЬКУЛЯТОР для Joomla 1.0.XX.



Калькулятор предназначен для рассчета стоимости бухгалтерского обслуживания по различным параметрам.

Смотреть демо!

Как это принято у нас - калькулятор работает полностью без перезагрузки страниц, индицируя все сообщения/результаты "на лету" (полный веб 2.0 короче :))

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

Скачать его можно тут или в моем файловом архиве.


[вложение удалено Администратором]
*

poizon

  • Захожу иногда
  • 495
  • 187 / 1
  • Buu
мой +
полезная может оказаться штуковина =)
*

..С...е...р...ы...й..

  • Захожу иногда
  • 51
  • 110 / 2
мне пока не надо, но вешь класная, я бы потестировал, да не умею )))
Если понадобиться, буду знать где найти.
Adeptus, зачет!!!
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
я бы потестировал, да не умею

А чего там уметь - выбирайте из выпадающих списков что попало (они позеленеют), вводите пароль цифрами, жмите "СЧИТАТЬ" - любуйтесь результатами... :)
*

doszhan

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Огромное спасибо
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
Огромное спасибо

Пользуйтесь :)
*

Aleks_El_Dia

  • Живу я здесь
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Вроде ничего, только как применять не совсем ясно)) Не бухгалтер я)
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
Вроде ничего, только как применять не совсем ясно)) Не бухгалтер я)

Я тоже :) Поэтому сам долго не мог понять - но потом въехал... :)
*

Spirit

  • Захожу иногда
  • 57
  • 6 / 1
А можно как то цены изменять?  ^-^
*

Sedoy

  • Давно я тут
  • 897
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
отличный куркульлятор :)
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
А можно как то цены изменять?

Можно. Ручками внутри скрипта...

Можно. Ручками внутри скрипта...
Можно. Ручками внутри скрипта...
програма супер тоесть модуль вот толька варос а может ли он работать брыть с базы 1 с товар и так сами подшитовать вот я имею веду например подбор компютора вот тут мне очень понравился ! http://computer.biz.ua/e/start.php?z=calc
*

skrap

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Adeptus, адаптация под 1.5.х во что обойдется?
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
*

skrap

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Очень жаль :)

Adeptusа можно доделать скрипт чтобы был выбор подшета а $ R ну в разных валютах и чтобы базу он использовал с скюель вот например ребята тут так зделали ! ]http://computer.biz.ua/e/start.php?z=calc[url]
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
Adeptusа можно доделать скрипт чтобы был выбор подшета а $ R ну в разных валютах и чтобы базу он использовал с скюель вот например ребята тут так зделали ! http://computer.biz.ua/e/start.php?z=calc[url]]]http://computer.biz.ua/e/start.php?z=calc[url]

Вопрос решен в личном порядке. :)
*

злобный ламер

  • Захожу иногда
  • 193
  • 2 / 0
вопрос - можно я Ваш модуль переделаю для других нужд? ( мне калькулятор для обслуживания нужен)
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
вопрос - можно я Ваш модуль переделаю для других нужд? ( мне калькулятор для обслуживания нужен)

можно. код открыт.

Не представляю когда нибудь вообше понадоится
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
Не представляю когда нибудь вообше понадоится

Это вы про что?
*

grademax

  • Новичок
  • 7
  • 0 / 0
супер. но и у меня вопрос появился! как этот модуль связать с пунктом меню? в меню сделать пункт, допустим "ПРОСЧЁТ СТОИМОСТИ" и при нажатии этот модуль открывался либо в отдельном окне, либо в теле сайта??? !!!???!!!
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
супер. но и у меня вопрос появился! как этот модуль связать с пунктом меню? в меню сделать пункт, допустим "ПРОСЧЁТ СТОИМОСТИ" и при нажатии этот модуль открывался либо в отдельном окне, либо в теле сайта??? !!!???!!!

Ровно так же как и с любым другим модулем - поставить его на ЛЮБУЮ страницу и сделать ссылку на эту страницу...
*

KAZAKofSKY

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

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
сорри за глупый вопрос..
в каком файле хранятся формулы? хочу переделать калькулятор ..

mod_acalc.php
*

JDV

  • Захожу иногда
  • 108
  • 0 / 0
Подскажите почему такие значки ... использую utf-8 ... в файлах везде windows-1251 сменил на utf-8 ... результат тот же

[вложение удалено Администратором]
*

beliyadm

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

JDV

  • Захожу иногда
  • 108
  • 0 / 0
какие файлы?
*

JDV

  • Захожу иногда
  • 108
  • 0 / 0
а как это сделать нельзя ли дать точную инструкцию ...?)
*

JDV

  • Захожу иногда
  • 108
  • 0 / 0
Спасибо) За помощь ^-^ разобрался сам ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор 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
Модуль "Adeptus File Uploader" (скачать)

Автор Adeptus

Ответов: 16
Просмотров: 7414
Последний ответ 02.11.2010, 20:15:39
от Adeptus