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

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
попробуйте в настройках плагина ему порядок задать - первым.
ну и код проверьте все же. из первого поста все примеры работают
Всё это сделал, но пока не помогло ( Тупо выводятся конструкции без обработки плагином (
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #271 : 07.06.2018, 14:01:44 »
Переустановите. Может кто-то чего-то направил там...
Создание сайтов, шаблонов, помощь в решении проблем.
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Попробовал табы, спасибо.

Для дектопа нормально, а вот с телефона все табы падают под текст открытого таба

Думал шаблон, но в шаблоне beez3  тоже всё грустно
« Последнее редактирование: 07.06.2018, 17:59:52 от palexa »
*

x1

  • Давно я тут
  • 635
  • 15 / 0
  • Linux — это Windows для бытовой техники
Подскажите пожалуйста, а как в com_search/search/default_results.php вставить код спойлера?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #274 : 14.06.2018, 11:17:36 »
Подскажите пожалуйста, а как в com_search/search/default_results.php вставить код спойлера?
вызвать триггер события content.prepare и передать ему сформированным контент
*

x1

  • Давно я тут
  • 635
  • 15 / 0
  • Linux — это Windows для бытовой техники
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #275 : 14.06.2018, 11:21:34 »
вызвать триггер события content.prepare и передать ему сформированным контент
Я не смогу это осилить)))  может ссылку на пример скините?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #276 : 14.06.2018, 11:27:48 »
гуглите по запросу "Joomla вызов content.prepare" - примеров тьма
*

x1

  • Давно я тут
  • 635
  • 15 / 0
  • Linux — это Windows для бытовой техники
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #277 : 15.06.2018, 19:33:10 »
гуглите по запросу "Joomla вызов content.prepare" - примеров тьма
Спасибо за подсказку гуглить. К сожалению плюсик вам за этот совет поставить рука не поднимается.
Подожду конкретного ответа на конкретно поставленный вопрос от разработчика плагина)
Собственно ему мой вопрос и был адресован.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #278 : 15.06.2018, 20:42:06 »
x1, вам подсказали, что надо делать.
и вряд ли вы дождетесь какого-то другого ответа от автора расширения, т.к. вопрос относится не к расширению, а к "как вызвать плагин контента из компонента" и к шаблону вывода com_search.
примеров, действительно, вагон.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #279 : 15.06.2018, 21:46:35 »
Подожду конкретного ответа на конкретно поставленный вопрос от разработчика плагина)
Ну если учесть, что я тоже приложил руку к разработке этого плагина, то вопрос адресован косвенно и ко мне тоже )

Не совсем понятно, что именно вы хотите сделать с этим плагином: обернуть в слайды вывод результатов поиска не получится, реализовать табы тоже не выйдет, можно только для каждого материала в результате поиска вызвать обработчик content.prepare, но это не рекомендуется делать, т.к. поиск может вызвать кусок материала только с открывающим или только с закрывающим шорткодом, тогда плагин просто не сработает, вызов бесполезен

А вызвать обработку можно так:
Код
$text = JHTML::_('content.prepare', $text)
т.е. вы берете текст, прогоняете через все контент-плагины (через конкретно один не получится) и на выходе получаете результат, что с ним делать дальше - дело десятое, зависит от задач.

Не благодарите.
*

x1

  • Давно я тут
  • 635
  • 15 / 0
  • Linux — это Windows для бытовой техники
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #280 : 16.06.2018, 10:20:21 »
Не совсем понятно, что именно вы хотите сделать с этим плагином:
Желание простое: на странице выдачи результатов поиска перед названиями найденных материалов выводится форма
Код
<form method="post" action="/en/search.html" id="searchForm">

В форме отображаются условия поиска - в чем искать, как искать (совпадения), по сколько найденных записей показывать.
Эти условия вроде как бы и нужны, но занимают по вертикали много места. Смотрится некрасиво. Т.е. хотелось бы их обернуть спойлоером и скрыть.
Вот эти блоки внутри формы которые хотелось бы обернуть в спойлер:
   
Код
<fieldset class="phrases"
<div class="form-limit">

Все это находится в файле components\com_search\views\search\tmpl\default_form.php от строки 39 до конца формы, стр 79, начиная с:
Код
<?php if ($this->params->get('search_phrases', 1)) : ?>

*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #281 : 16.06.2018, 11:13:40 »
вам необходимо вывести рендер файла с формой  в переменную, обработать ее через content.prepare, затем переменную вывести через echo, как именно это реализовать - уже за пределами данной темы, но есть у меня подозрение, что не получится просто так использовать данный плагин на странице поиска, т.к. в плагине идет проверка на использование его только в материалах
« Последнее редактирование: 16.06.2018, 11:18:43 от AlekVolsk »
*

Natalliiya

  • Новичок
  • 1
  • 0 / 0
Попробовал табы, спасибо.

Для дектопа нормально, а вот с телефона все табы падают под текст открытого таба

Думал шаблон, но в шаблоне beez3  тоже всё грустно

Та же проблема. Кто-нибудь решил ее?
*

miminfo

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #283 : 15.10.2020, 12:49:25 »
Как сделать ссылку на страницу со вкладками, чтобы открывалась сразу определенная вкладка (а не первая).
Т.е. как то так http://sait.ru/stranica/vkladka2
?
*

x1

  • Давно я тут
  • 635
  • 15 / 0
  • Linux — это Windows для бытовой техники
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #284 : 09.07.2021, 13:12:14 »
Есть стандартный html-модуль джумль. Как вызвать обработку вашим плагином этого модуля?
*

khan-alex

  • Давно я тут
  • 649
  • 30 / 1
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #285 : 09.07.2021, 14:14:08 »
Есть стандартный html-модуль джумль. Как вызвать обработку вашим плагином этого модуля?
Основные параметры -- Обработка плагинами -- Да. Пробовали?
*

x1

  • Давно я тут
  • 635
  • 15 / 0
  • Linux — это Windows для бытовой техники
Основные параметры -- Обработка плагинами -- Да. Пробовали?
Неправильно описал проблему. Задавать надо в другой теме, но переспрошу все таки здесь, так как вопросы связанные.
Есть стандартный html-модуль. Такая конструкция не работает, как то можно такое реализовать?
Код
{tab=Заголовок1}
{loadposition mymodule1}
{tab=Заголовок2}
{loadposition mymodule2}
{/tabs}
*

x1

  • Давно я тут
  • 635
  • 15 / 0
  • Linux — это Windows для бытовой техники
Joomla 3.10.0 выдает ошибку:
Код
Notice: Trying to get property 'id' of non-object in \plugins\content\ext_tss\ext_tss.php on line 70

Notice: Trying to get property 'title' of non-object in \plugins\content\ext_tss\ext_tss.php on line 71

Warning: Use of undefined constant breack - assumed 'breack' (this will throw an Error in a future version of PHP) in plugins\content\ext_tss\ext_tss.php on line 72
*

vipopo

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
как поменять стили слайдера, что бы у каждого слайдера был свой стиль. Делала изменения по рекомендациям, на примере TAB но не работает
« Последнее редактирование: 19.07.2022, 10:45:16 от vipopo »
*

barulyabl

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #289 : 19.07.2022, 01:27:27 »
Плагин не работает в joomla4, кто нибудь разобрался почему.
*

Sergeych

  • Захожу иногда
  • 161
  • 25 / 0
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #290 : 14.06.2023, 09:49:02 »
Плагин не работает в joomla4, кто нибудь разобрался почему.
Для Joomla 4 помогает принудительная подгрузка
Код
<script src="/media/ext_tss/assets/js/ext_tss.js"></script>
до </body>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин для контента сравнения 2х изображений шторкой - juxtapose

Автор Beer

Ответов: 1
Просмотров: 521
Последний ответ 12.06.2025, 13:38:09
от Beer
Плагин для закрытия ссылок в Joomla 3 - noExternalLinks

Автор buyanov

Ответов: 65
Просмотров: 17014
Последний ответ 06.04.2025, 02:51:35
от azm1n
SW JProjects - Менеджер цифровых проектов для Joomla! CMS™

Автор Septdir

Ответов: 59
Просмотров: 8121
Последний ответ 24.03.2025, 13:06:54
от sergeytolkachyov
Calendar Filter — модуль для фильтрации материалов Joomla

Автор Sulpher

Ответов: 0
Просмотров: 1163
Последний ответ 09.11.2024, 14:01:49
от Sulpher
Бесплатная система фильтрации полей Joomla

Автор zikkuratvk

Ответов: 271
Просмотров: 31731
Последний ответ 02.11.2024, 11:43:22
от GregSil