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

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Ключ Google map
« : 10.07.2020, 22:15:42 »
Привет всем. Ребята, помогите разобраться. Что не так я делаю?
Не могу найти где этот ключ взять. Усложнили с этим получением.
Не могу вывести карты на сайт. В консоли создала, ключ есть, в любых модулях какие только не ставлю, не работает. Выдает ошибку.
Создала ещё один api немного потыкала по настройкам, вроде карта секунд на 10 начала проявлять при создании, а потом выдало новую ошибку - на скрине 2.

Кому не трудно, распишите пожалуйста пошагово, куда мне зайти в Google консоле, где создать, какой тип выбрать, в какой бубен постучать ?)) 
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Ключ Google map
« Ответ #1 : 10.07.2020, 22:20:46 »
Что консоль пишет?
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Re: Ключ Google map
« Ответ #2 : 10.07.2020, 22:27:16 »
Что консоль пишет?
Я не могу разобраться, что именно выбрать нужно? https://prnt.sc/tfk6zy Какой сервис? Без вранья, третий день ковыряюсь там, делала по инструкциям подключения. 100500 настроек. Вот можно же было оставить, создать api создал без всякий миллен этапов)))

Я лет 8 точно эти карты не подключала сама
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Ключ Google map
« Ответ #3 : 10.07.2020, 22:35:19 »
Я имею ввиду консоль браузера! Ошибки Google карт выводятся туда!
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Re: Ключ Google map
« Ответ #4 : 10.07.2020, 22:46:27 »
Я имею ввиду консоль браузера! Ошибки Google карт выводятся туда!

Если я правильно поняла про что
Код
This API project is not authorized to use this API. Places API error: ApiNotActivatedMapError
https://developers.google.com/maps/documentation/javascript/error-messages#api-not-activated-map-error 3 js:78:449
    me https://maps.googleapis.com/maps/api/js?jsapiRedirect=true&key=AIzaSyC6dzObNLsAoRmwsRwCR6o5Weud1pVc8vg&libraries=places:78
    Pl https://maps.googleapis.com/maps-api-v3/api/js/41/5/intl/ru_ALL/places_impl.js:63
    jia https://maps.googleapis.com/maps-api-v3/api/js/41/5/intl/ru_ALL/places_impl.js:29
    e https://maps.googleapis.com/maps-api-v3/api/js/41/5/intl/ru_ALL/places_impl.js:28
    c https://maps.googleapis.com/maps-api-v3/api/js/41/5/intl/ru_ALL/common.js:69
    <анонимный> https://maps.googleapis.com/maps/api/place/js/AutocompletionService.GetPredictions?1sLAT: 52.568864269289364 LNG: 7.71349609375001 &4sru-RU&6m6&1m2&1d51.55575490287312&2d-0.33856711804865824&2m2&1d55.471872726928936&2d20.335871805548678&15e3&20sA00A395A-4B1B-46C1-9A6B-683476DA4731oslayz5pzvpj&21m1&2e1&callback=_xdc_._ns00f&key=AIzaSyC6dzObNLsAoRmwsRwCR6o5Weud1pVc8vg&token=70060:1
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Ключ Google map
« Ответ #5 : 10.07.2020, 22:59:25 »
Да, оно самое.... Зайдите к учетные данные в Google Cloud Platform и там создайте ключ...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Re: Ключ Google map
« Ответ #6 : 10.07.2020, 23:21:45 »
Да, оно самое.... Зайдите к учетные данные в Google Cloud Platform и там создайте ключ...

Да таже фигня. Я даже удалила все ключи, с нового Google новый проект создала, всё по новому. https://prnt.sc/tfl2fi
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Ключ Google map
« Ответ #7 : 10.07.2020, 23:33:13 »
Значит что то в коде не так! Как я понял это добавление материала во front-end?
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Re: Ключ Google map
« Ответ #8 : 10.07.2020, 23:37:34 »
Значит что то в коде не так! Как я понял это добавление материала во front-end?
Нет, это виджеткит. В любом модуле какой только не ставила такая ошибка. Яндекс выводился нормально. Но не могу на него нормальные модули найти. Да и к тому же, хотим Google карту. Не знаю может я Google настройках не так что то делаю. Развели там сотни сервисов.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Ключ Google map
« Ответ #9 : 10.07.2020, 23:44:19 »
Посмотрите в исходном коде страницы строку подключения скрипта Google карт, там же должно быть указан api ключ. Проверьте есть ли он там!
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Re: Ключ Google map
« Ответ #10 : 11.07.2020, 01:02:23 »
Вопрос такой. Использование API платное или бесплатное? Может в этом проблема? Я не оплачивала аккаунт.
Какие варианты можно использовать без API?
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Re: Ключ Google map
« Ответ #11 : 11.07.2020, 02:15:24 »
Я вот установила Яндекс карту, работает нормально. Там просто координаты вводишь.
Есть модули которые не запрашивают апи в Google?
То что я установила не очень нравится то.
*

Cedars

  • Давно я тут
  • 585
  • 31 / 0
Re: Ключ Google map
« Ответ #12 : 11.07.2020, 05:58:08 »
Есть модули которые не запрашивают апи в Google?

нет.. Googleясделал карты платными.. Есть варианты, конечно, временные... вот в качестве примера: https://ukit.com/ru/help/google-maps-apikey
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Re: Ключ Google map
« Ответ #13 : 11.07.2020, 10:34:09 »
нет.. Googleясделал карты платными.. Есть варианты, конечно, временные... вот в качестве примера: https://ukit.com/ru/help/google-maps-apikey
Спасибо) Я подозревала это, вчера дошло. В общем пусть будут Яндекс карты.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Yootheme pro. Как выглядит лицензионный ключ?

Автор Lopes-popes

Ответов: 3
Просмотров: 1237
Последний ответ 17.05.2019, 22:53:43
от Lopes-popes
Плагин System - Google Maps ошибка после перехода на SSL

Автор lexin

Ответов: 5
Просмотров: 1506
Последний ответ 14.12.2017, 17:03:50
от lexin
Не отображается BT Google Maps

Автор Sergunqa

Ответов: 3
Просмотров: 1403
Последний ответ 26.12.2016, 18:07:32
от Sergunqa
Компонент Google карт на сайт - Zh GoogleMap

Автор gismen

Ответов: 12
Просмотров: 4976
Последний ответ 02.12.2015, 14:02:53
от Dozzy
Google Forms

Автор Элана

Ответов: 1
Просмотров: 2344
Последний ответ 25.09.2015, 09:39:26
от Элана