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

Nonane

  • Захожу иногда
  • 62
  • 0 / 0
разобрался юзал другой модуль . template selector  :-X кстати кому надо версия для слабовидящих 2.0 с озвучанием как по мне лучше данного решения https://yadi.sk/d/wJgWlbjY3T7LMH
*

m1804

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Использую шаблон accessibility, криво-косо, но работает. Есть ли возможность при отключении изображений чтоб отображался текст (с гиперссылками), например: изображение с гиперссылкой (для скачивания файла) чтоб при отключении изображений отображалось Скачать.
*

chooser

  • Новичок
  • 2
  • 0 / 0
Установлены плагин templateswitcher.zip и шаблон accessibility.zip и плагин plg_system_jqueryeasy_v168.zip
      сделал копию модуля Main Menu (2) расположил его в позиции position-1-vi
      
      в файлах шаблона shaper_helix_ii добавил ссылку
      <a href="/?template=accessibility">версия для слабовидящих</a>
      в шаблоне accessibility добавил
      <a href="/?template=shaper_helix_ii">обычная версия сайта</a>
      Создал копию категории,
      копию материалов,
      создал копию меню,
      создал копию пункта меню и привязал к копии материал, 
      в стиле accessibility в параметре "Привязка к меню" выбрал меню Main Menu(2) и все его три пункта (О проекте(2), Полезная информация(2), Партнеры(2)
      
      Переход на версию для слабовидящих выполняется, но при нажатии на любые кнопки изменения шривта или цвета выполняется переход на основную версию сайта.
« Последнее редактирование: 01.04.2018, 20:58:32 от chooser »
*

Aplex83

  • Новичок
  • 2
  • 0 / 0
Приветствую знатоков. Может кто подсказать, использую шаблон от рокетов, ганти 4 и шаблон accessibility с плагином template switcher всё вроде бы работает, кроме одного момента: попадая в шаблон accessibility, перейдя по любому пункту меню и кликнув по пункту Главная ничего не происходит, не переходит на главную. На 2-х сайтах такая беда. Шаблоны от рокетов, но разные. Тип пункта меню, просто материал и там, и там. Может есть у кого какие мысли? :(
« Последнее редактирование: 10.04.2018, 20:31:58 от Aplex83 »
*

Vintos

  • Новичок
  • 3
  • 1 / 0
разобрался юзал другой модуль . template selector  :-X кстати кому надо версия для слабовидящих 2.0 с озвучанием как по мне лучше данного решения https://yadi.sk/d/wJgWlbjY3T7LMH
Привет. Залейте пожалуйста решение с версией для слабовидящих 2.0 с озвучиванием. Спасибо!
*

kimkine

  • Новичок
  • 7
  • 1 / 0
разобрался юзал другой модуль . template selector  :-X кстати кому надо версия для слабовидящих 2.0 с озвучанием как по мне лучше данного решения https://yadi.sk/d/wJgWlbjY3T7LMH
Выложите еще раз. Ссылка устарела.
*

hunter3

  • Новичок
  • 1
  • 0 / 0
Спасибо, с модулями разобралась. Вставляют ли баннеры в версию для слабовидящих? и как добавить меню с права, right-vi нету... И размеры и цвет не работают...


Поделитесь пожалуйста алгоритмом действий, как удалось победить? Тоже открывается только главная страница без меню если активировать режим для слабовидящих. Нужная страница открывается если в браузере переходим на предыдущую страницу, но опять же без боковых меню(((
*

gunz95

  • Новичок
  • 4
  • 0 / 0
добрый день, стоит шаблон it_blackwhite2, установил шаблон и модуль переключения. При нажатии меняет шаблон только на главной странице - дальше включается стандартный. Отключил IceShortCodes - все работает, но пропал лого, и очень много всего поменялось. То есть не вариант отключать, может есть идея что делать?
*

slavikM

  • Захожу иногда
  • 76
  • 3 / 0
Доброго времени суток форумчане. Все перепробовал, нужен совет, на странице http://tmarionetki.info/?template=accessibility все кнопки работают, а вот на http://tmarionetki.info/zakazat-bilety.html и на http://tmarionetki.info/komentarii.html не работает ни одна кнопка. Пробовал плагин JQuary Easy, тоже не помогает... Поделитесь советом. Заранее спасибо.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
здра.
у вас не подключен jQuery на этой странице, в от и не работает.
на рабочих вот отсюда берется
Код
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
*

slavikM

  • Захожу иногда
  • 76
  • 3 / 0
effrit Спасибо за внимание. Как можно решить эту головоломку ?
Может в шаблон добавить строчку
Код
<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
?
*

slavikM

  • Захожу иногда
  • 76
  • 3 / 0
Прошу прощения за спам... Проблема решена. В шаблон сайта для слабовидящих вставил код
Код
<script type="text/javascript" src="<?php echo $this->baseurl ?>https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
И все работает. Спасибо Вам effrit, на правильной путь наставили...
*

amto

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Помогите, пожалуйста!

Установила шаблон accessibility, плагин Template Switcher. Шаблон, вроде бы, работает. Во всяком случае, шрифты, фоны меняются. Переход с основного сайта происходит без проблем. Но, обратной загрузки не происходит и уже даже после полной перезагрузки сайта он грузится по шаблону accessibility, т.е. он становится "как бы" шаблоном  по умолчанию. Если отключаю плагин все ходит туда-сюда без проблем, но при нажатии на любой пункт меню идет возврат на главную страницу основного шаблона( Перерыла и этот форум и еще кучу всего. Несчетное количество раз перезаливала шаблон и плагин с разных ресурсов, но либо вообще ничего не работает,  либо, возвращаюсь к вышеописанной проблеме(. Joomla 2.5. Основной шаблон Tx_finnix. Сайт http://kamplavanie.ru/. Хоть стреляйся (
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
Но, обратной загрузки не происходит
А как делаете эту обратную загрузку? Сделайте как ссылку <a href="index.php?template=tx_finnix">....</a>
*

amto

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
именно так и сделана (
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
именно так и сделана (
что-то не вижу, что именно так
*

vasmed

  • Осваиваюсь на форуме
  • 47
  • 1 / 0
Установил плагин с шаблоном, вроде работает (правда пришлось помудрить с ссылками. В итоге заработало с ссылкой
Код
<p><a href="index.php?template=accessibility">ВсВ</a></p>
и обратная тоже с "index.php?") Но есть проблемы. Во-первых не отображаются модули меню. А во-вторых  на главной странице не отображается основное содержимое, которое в позиции "main-top". (На других страницах почему-то выводится эта позиция и только она) Попробовал добавить в templateDetails.xml и в index.php вывод этой позиции. Стало выводить, но выводит без стилей в каком-то уменьшенном шрифте (font:62.5%/1.3 "Times New Roman",serif;). И кнопки изменениия размера шрифта не работают. Но цвет фона меняется.
Версия php 5.4.45
в $app =  JFactory::getApplication(); - убрал & - ничего не поменялось. Что посоветуете?
« Последнее редактирование: 22.02.2019, 08:33:05 от vasmed »
*

vasmed

  • Осваиваюсь на форуме
  • 47
  • 1 / 0
В итоге поставил плагин-модуль B-accesibility. Шаблон не меняется, а только меняется шрифт и контраст.
*

Mick_20

  • Завсегдатай
  • 1025
  • 3 / 0
  • Что тут писать?
Подскажите почему кнопки не работают в шаблоне accessibility?
*

Mick_20

  • Завсегдатай
  • 1025
  • 3 / 0
  • Что тут писать?
Может пригодиться кому-то.

Поставил шаблон accessibility на Joomla 1.5 и не работали кнопки изменения шрифта, фона и т.п.

В консоли была ошибка: $.cookie is not a function console error

В общем нужно подключить плагин к шаблону. Подробнее
Я просто в файле index.php добавил скрипты плагина между <script></script>:

Спойлер
[свернуть]

P.S. Если при переходе между пунктами меню слетает шаблон, то отключите плагин System - TemplateSelector и включите плагин System - Template Switcher.
*

Diver128

  • Новичок
  • 3
  • 0 / 0
  • Я только учусь(
Доброго времени суток уважаемый Ilhom666. Попробовал я поставить ваш плагин на Joomla 1.5. все хорошо, только не активна большая часть кнопок и не выводится слева меню. Весь день воюю. Помогите пожалуйста.
« Последнее редактирование: 25.04.2020, 10:03:48 от Diver128 »
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Попробовал я поставить ваш плагин на Joomla 1.5.
А для чего Вам сайт на 1.5 вы что это уже прошлый век
*

Diver128

  • Новичок
  • 3
  • 0 / 0
  • Я только учусь(
А для чего Вам сайт на 1.5 вы что это уже прошлый век
В данный момент некорректно работает только панель для слабовидящих. Что отвалится при переходе на новую версию остается лишь гадать, по этому было принято решение доработать лишь ее.
*

Diver128

  • Новичок
  • 3
  • 0 / 0
  • Я только учусь(
Доброго времени суток уважаемый Ilhom666. Попробовал я поставить ваш плагин на Joomla 1.5. все хорошо, только не активна большая часть кнопок и не выводится слева меню. Весь день воюю. Помогите пожалуйста.
Спасибо. Перешел на новую версию Joomla.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Template creator ck

Автор den_master

Ответов: 0
Просмотров: 639
Последний ответ 06.04.2021, 11:38:48
от den_master
Вопросы от дилетанта по Helix3, мобильная версия

Автор gorbi_U

Ответов: 12
Просмотров: 776
Последний ответ 18.01.2021, 09:46:00
от draff
Gantry 5 и template override

Автор romagromov

Ответов: 0
Просмотров: 772
Последний ответ 05.04.2020, 18:41:25
от romagromov
YOO theme pro мобильная версия navbar

Автор heikomaiko

Ответов: 5
Просмотров: 1097
Последний ответ 26.08.2019, 13:27:09
от heikomaiko
Выделение активного пункта мега-меню Helix Template

Автор Esmarmix

Ответов: 0
Просмотров: 889
Последний ответ 11.07.2019, 02:58:09
от Esmarmix