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

Millenium_3000

  • Захожу иногда
  • 119
  • 0 / 0
как сделать кнопки меню!
« : 13.03.2011, 22:05:43 »
Не могу установить меню в таком виде, как оно на шаблоне http://jootem.org.ua/tm-27962-joomla-shablon.html

Шаблон скачал, установил. Пункты меню сделал, только они у меня отображаются просто как текст без картинок, а в шаблоне картинки (черные прямоуголники). В архиве шаблона я нашел такие картинки, только картинка разбита на 2 части, левую и правую.. Как сделать, чтобы такие же кнопки как на шаблоне отображались у меня?

В CSS шаблона в блоке topmenu эти картинки указаны. А вот почему они не отображаются у меня в меню(((((

Спасибо
« Последнее редактирование: 13.03.2011, 22:18:37 от Millenium_3000 »
*

Alexpro2011

  • Захожу иногда
  • 195
  • 8 / 1
Re: как сделать кнопки меню!
« Ответ #1 : 14.03.2011, 02:08:21 »
Millenium_3000, это проблема всех новичков, а также проблема старичков, что нигде фак не сделали по данному поводу!
в mod_mainmenu, укажите нужную позицию вашего меню, чтобы узнать нужную позицию введите мой сайт.рф/?tp=1, уведите свои позиции и выставляйте!
*

Stiny

  • Новичок
  • 5
  • 0 / 0
Re: как сделать кнопки меню!
« Ответ #2 : 12.08.2011, 13:00:42 »
Millenium_3000, это проблема всех новичков, а также проблема старичков, что нигде фак не сделали по данному поводу!
в mod_mainmenu, укажите нужную позицию вашего меню, чтобы узнать нужную позицию введите мой сайт.рф/?tp=1, уведите свои позиции и выставляйте!

Вы видимо не поняли суть вопроса. Человек спрашивает, как сделать так что бы у него в меню был не текст, который он адресовал в "Top1@, а именно картинки как на шаблоне.

Я столкнулся с такой же проблемой, все обгуглил, нигде нет ответа.. Помогите пожалуйста. Буду очень благодарен подробному объяснению.
*

FerrumLogic

  • Захожу иногда
  • 213
  • 17 / 0
  • Я ушел чтобы с разбегу вернуться
Re: как сделать кнопки меню!
« Ответ #3 : 12.08.2011, 13:33:09 »
А класс меню установлен? В указанном шаблоне подложка меню определена для класса "menu-nav"
*

Stiny

  • Новичок
  • 5
  • 0 / 0
Re: как сделать кнопки меню!
« Ответ #4 : 12.08.2011, 18:44:37 »
Честно говоря, я нубоват в этом.. Пробовал разные модули, в том числе и модуль "меню", но в вертикально меню все равно просто тупо ссылка а не картинка с надписью ссылки.. (в самом шаблоне предусмотрены кнопки)

Я не ответил на Ваш вопрос, если можно задавайте вопросы простым языком ))
*

mt_3000

  • Захожу иногда
  • 93
  • 2 / 0
Re: как сделать кнопки меню!
« Ответ #5 : 13.08.2011, 09:30:53 »
Может не заморачиваться  - шаблон с таким дизайном за 15 минут можно создать в Artisteer ;D
*

Stiny

  • Новичок
  • 5
  • 0 / 0
Re: как сделать кнопки меню!
« Ответ #6 : 13.08.2011, 11:46:05 »
Может не заморачиваться  - шаблон с таким дизайном за 15 минут можно создать в Artisteer ;D

Это то можно) Просто все равно меню идет с ссылками а не с кнопками..

Неужели никто не может поделиться? (
*

mt_3000

  • Захожу иногда
  • 93
  • 2 / 0
Re: как сделать кнопки меню!
« Ответ #7 : 13.08.2011, 17:53:31 »
В шаблоне от Artisteer выбери Суффикс класса меню art-vmenu и будет тебе счастье ;D
*

Stiny

  • Новичок
  • 5
  • 0 / 0
Re: как сделать кнопки меню!
« Ответ #8 : 13.08.2011, 19:13:47 »
Я наверно безнадежно туп... Скажи пожалуйста по шагам что и куда, на счет шаблона, да, он создан в Artisteer.. =\
*

Stiny

  • Новичок
  • 5
  • 0 / 0
Re: как сделать кнопки меню!
« Ответ #9 : 14.08.2011, 17:55:51 »
С этим я разобрался.. просто поставил расположение user3, но теперь другая проблема... как сделать рядом такие же меню...? а то с user3 расположением получается только внизу....
*

Intrande

  • Новичок
  • 8
  • 0 / 0
Re: как сделать кнопки меню!
« Ответ #10 : 17.08.2017, 17:24:12 »
Добрый день умные люди, скажите, есть ли возможность в шаблоне в меню, которое состоит в одном стиле, одну кнопку сделать другого цвета? Возможно ли такое? Если да, то как это сделать?
Сайт: lovereiki .ru
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как русифицировать кнопки "more" и "show all"? В модуле SP Portfolio?

Автор marmax

Ответов: 12
Просмотров: 7013
Последний ответ 15.11.2020, 14:30:58
от RomaFokin
Ширина меню

Автор alex86r93

Ответов: 5
Просмотров: 4542
Последний ответ 14.06.2018, 05:13:50
от KANEGI
Как сделать логотип в шапке ссылкой

Автор hmaoITN

Ответов: 100
Просмотров: 68480
Последний ответ 08.01.2018, 12:13:04
от galll72
Вопрос по добавлению тега в МЕНЮ j 1.5

Автор berTalino

Ответов: 12
Просмотров: 4151
Последний ответ 29.03.2017, 16:20:43
от berTalino
Как сделать резиновой центральную чать сайта?

Автор genkey

Ответов: 8
Просмотров: 5030
Последний ответ 28.05.2016, 10:45:37
от vipiusss