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

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Добрый день!
Пытаюсь поставить на сайт official pixel facebook. У фейсбука есть 2-ва варианта установки, автоматическая с подсказками и загрузкой модуля в админку - этот вариант не работает.
Приходится использовать второй вариант:
"Скопируйте и вставьте код пикселя внизу заголовок раздела вашего сайта, прямо над метками Метка </head>. Установите базовый код на каждой странице сайта. Подробнее"

<!-- Facebook Pixel Code -->
<script>
  !function(f,b,e,v,n,t,s)
.......
......
.......
/></noscript>
<!-- End Facebook Pixel Code -->

Так как я не программист, у меня возникли вопросы:
Куда именно мне вставлять этот код?
Я пытался найти файлы index.php - там нет "</head>" , index.html - но там я вижу только одну строку: <!DOCTYPE html><title></title>
Нашел сам файл head.html - но там тоже нет </head> ...
Совсем не понимаю куда мне вставлять этот код, подскажите пожалуйста?
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Re: Установка official pixel facebook Как?
« Ответ #1 : 29.01.2020, 14:35:23 »
в index.php в папке шаблона
или иной файл в той же папке где закрывается </head>
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #2 : 29.01.2020, 14:40:13 »
в index.php в папке шаблона
или иной файл в той же папке где закрывается </head>
А где мне найти папку шаблона? немного не понимаю
и как понять, где закрывается head?
Заранее простите за такие вопросы, просто новичок)
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Re: Установка official pixel facebook Как?
« Ответ #3 : 29.01.2020, 14:40:50 »
templates/ваш шаблон
*

Cedars

  • Давно я тут
  • 585
  • 31 / 0
Re: Установка official pixel facebook Как?
« Ответ #4 : 29.01.2020, 14:41:43 »
установите модуль: Blank Module
автор: blackdale.com

код пикселя вставляете в раздел Scripts and Head и опубликовываете модуль на всех страницах...

........

Сайт блэк модуля недоступен..

воспользоваться можно, к примеру, этим модулем: https://extensions.joomla.org/extension/flexi-custom-code/

« Последнее редактирование: 29.01.2020, 14:54:42 от Cedars »
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #5 : 29.01.2020, 14:45:16 »
templates/ваш шаблон
Спасибо! Нашел файл index.php и нашел <head> уже радует!)
перед ним я вставляю код? И это будет работать на всех страницах или только на главной?
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Re: Установка official pixel facebook Как?
« Ответ #6 : 29.01.2020, 14:47:13 »
перед закрывающим </head>
на всех будет работать
*

Cedars

  • Давно я тут
  • 585
  • 31 / 0
Re: Установка official pixel facebook Как?
« Ответ #7 : 29.01.2020, 14:56:24 »
Нашел файл index.php и нашел <head> уже радует!)
перед ним я вставляю код?

вставлять нужно после тэга <head> и до тэга </head> ... т.е. между ними...
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #8 : 29.01.2020, 15:08:25 »
перед закрывающим </head>
на всех будет работать
Вставил код, но не работает почему-то... на фейсбуке есть тест, тест не проходит... странно. Не могу загрузить скрины, сейчас еще раз попробую.
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #9 : 29.01.2020, 15:17:00 »
Вставил код, но не работает почему-то... на фейсбуке есть тест, тест не проходит... странно. Не могу загрузить скрины, сейчас еще раз попробую.
Вот скрин, куда я вставил, посмотрите пожалуйста?
https://drive.google.com/open?id=1FPHuNaAD94b97XnBUNTSIIAoyPYyf9to
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Re: Установка official pixel facebook Как?
« Ответ #10 : 29.01.2020, 15:19:00 »
с виду все правильно
дайте ссылку на сайт
*

Cedars

  • Давно я тут
  • 585
  • 31 / 0
Re: Установка official pixel facebook Как?
« Ответ #11 : 29.01.2020, 15:21:56 »
Вставил код, но не работает почему-то...

Если вы вставляли код в нужный файл - должен работать.. Очистите кэш и попробуйте снова тест пройти.

Очистка кэша в админке:
 Система >> Очистка кэша >> кнопка Удалить все


*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #12 : 29.01.2020, 15:22:31 »
с виду все правильно
дайте ссылку на сайт
Сюда писать или можно как-то личным сообщением?
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Re: Установка official pixel facebook Как?
« Ответ #13 : 29.01.2020, 15:23:30 »
сюда
личным вы пока не можете
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #14 : 29.01.2020, 15:28:38 »
сюда
личным вы пока не можете
d......l.by
« Последнее редактирование: 29.01.2020, 15:52:14 от Pavel614 »
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #15 : 29.01.2020, 15:29:02 »
Если вы вставляли код в нужный файл - должен работать.. Очистите кэш и попробуйте снова тест пройти.

Очистка кэша в админке:
 Система >> Очистка кэша >> кнопка Удалить все
очистка кеша не помогла(
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Re: Установка official pixel facebook Как?
« Ответ #16 : 29.01.2020, 15:31:26 »
нет кода
точнов нужный шаблон вставили?
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #17 : 29.01.2020, 15:37:18 »
нет кода
точнов нужный шаблон вставили?
  www / d......l.by / templates / beez3 / index.php   - вставлял в этот файл, правильно?

есть еще index.php  по такому пути, могу туда попробовать?

www / dv..... l.by / templates / sj_g2shop

« Последнее редактирование: 29.01.2020, 15:52:00 от Pavel614 »
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Re: Установка official pixel facebook Как?
« Ответ #18 : 29.01.2020, 15:39:08 »
нет у вас шаблон j2shop что то там
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #19 : 29.01.2020, 15:42:18 »
нет у вас шаблон j2shop что то там
Принял, тогда там, где я менял, скопирую первоначальный код, а вставлю сейчас куда вы сказали.

*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #20 : 29.01.2020, 15:50:28 »
Спасибо большое тебе добрый человек!)))
Ты даже не представляешь как я кричал от счастья!) Ура!
И спасибо всем, кто принимал участие!)
Там еще нужно настроить потом события, но вроде можно автоматически, проверю потом сообщу, если придется вручную настраивать. Возможно буду продолжать тему. Но большая часть дела сделана! еще раз большое спасибо!
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #21 : 29.01.2020, 15:51:26 »
нет у вас шаблон j2shop что то там
Хочу поставить лайк, но нужно 20 сообщений) я продолжу тему и обязательно поставлю!
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #22 : 29.01.2020, 16:04:55 »
Принял, тогда там, где я менял, скопирую первоначальный код, а вставлю сейчас куда вы сказали.
возник вопрос по автоматическому добавлению событий, почему-то пишет так, прикрепляю скрин:

Хотя уже сбор информации работает, как видно на скрине, в чем может быть вопрос? или не париться и продолжать настраивать вручную, как и с пикселем?
« Последнее редактирование: 29.01.2020, 16:32:10 от Pavel614 »
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #23 : 29.01.2020, 16:10:29 »
Разобрался сам, буду под каждое событие добавлять код.
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #24 : 29.01.2020, 16:11:08 »
Уже с Вашей помощью, друзья, знаю куда нужно добавлять!) спасибо большое, доганяю до 20 сообщений и ставлю лайк)
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #25 : 29.01.2020, 16:12:32 »
 ^-^
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #26 : 29.01.2020, 16:13:19 »
Кстати, тема очень полезная, так как я много форумов просмотрел, нигде нет такой информации.
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #27 : 29.01.2020, 16:13:48 »
Осталось 3 сообщения для лайков)
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #28 : 29.01.2020, 16:14:50 »
Статистика очень круто работает!
*

Pavel614

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Установка official pixel facebook Как?
« Ответ #29 : 29.01.2020, 16:15:41 »
Всем огромное спасибо еще раз!) 20-е сообщение, теперь я могу ставить лайк!)) Как и обещал!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Установка скрипта

Автор alekckim

Ответов: 2
Просмотров: 4536
Последний ответ 27.08.2021, 16:57:37
от alekckim
Нужна помощь ( Joomla установка готового шаблона )

Автор ShadowChaser

Ответов: 5
Просмотров: 1016
Последний ответ 25.07.2021, 12:03:20
от ShopES
"Установка из JED" не работает

Автор svarg

Ответов: 6
Просмотров: 2487
Последний ответ 24.03.2021, 19:07:48
от OZlaim1
Установка Joomla 3.9.23 выдает уведомление jinvalid_token_notice

Автор gir3000

Ответов: 12
Просмотров: 2353
Последний ответ 20.12.2020, 18:27:44
от gartes
Установка шаблонов

Автор otvetchamberlainu

Ответов: 4
Просмотров: 904
Последний ответ 23.06.2020, 10:50:50
от Cedars