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

nevigen

  • Moderator
  • 10447
  • 863 / 25
  • http://n*****n.com
Re: LiqPay - плагин оплаты
« Ответ #150 : 24.05.2016, 00:15:52 »
незавершенный заказ, говорит об отсутствии ответа от сервиса. любого ответа.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

popka-ru

  • Новичок
  • 1
  • 0 / 0
Re: LiqPay - плагин оплаты
« Ответ #151 : 12.11.2017, 02:10:39 »
всем здравия. возникла проблема. не понимаю как залить файлы на каталог . через фтп не получается, выдает ошибку 403. то ли я не так настроил, так как новичек в этом. помогите залить .
*

nevigen

  • Moderator
  • 10447
  • 863 / 25
  • http://n*****n.com
Re: LiqPay - плагин оплаты
« Ответ #152 : 12.11.2017, 13:46:58 »
всем здравия. возникла проблема. не понимаю как залить файлы на каталог . через фтп не получается, выдает ошибку 403. то ли я не так настроил, так как новичек в этом. помогите залить .
к хостеру.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

elektrik1

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: LiqPay - плагин оплаты
« Ответ #153 : 21.08.2019, 11:24:46 »
Доброго времени суток. Проблема с оплатой плагином liqpay в Joomshopping.  При оплате отправляет на youtube смотреть мультики... Нашел на просторах интернета, что нужно изменить URL Liqpay с liqpay.com на liqpay.ua. Вопрос где искать, чтобы изменить на уже установленом плагине. Если можно подробнее объясните, так как я небольшой специалист.
Заранее спасибо за помощь.
« Последнее редактирование: 21.08.2019, 11:33:42 от elektrik1 »
*

nevigen

  • Moderator
  • 10447
  • 863 / 25
  • http://n*****n.com
Re: LiqPay - плагин оплаты
« Ответ #154 : 21.08.2019, 11:35:24 »
там не так много файлов чтобы пересмотреть все и поправить.

components\com_jshopping\payments\pm_liqpay
92 строка
« Последнее редактирование: 21.08.2019, 12:31:56 от nevigen »
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

nevigen

  • Moderator
  • 10447
  • 863 / 25
  • http://n*****n.com
Re: LiqPay - плагин оплаты
« Ответ #155 : 21.08.2019, 12:32:16 »
components\com_jshopping\payments\pm_liqpay
92 строка
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

elektrik1

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: LiqPay - плагин оплаты
« Ответ #156 : 21.08.2019, 15:59:35 »
Спасибо огромное!
Сейчас попробую.
*

strange76

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: LiqPay - плагин оплаты
« Ответ #157 : 29.01.2021, 12:52:59 »
почему-то не переводит статус заказа в оплаченный после успешной оплаты и возврата на сайт
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Re: LiqPay - плагин оплаты
« Ответ #158 : 19.12.2021, 00:03:20 »
Warning: Illegal string offset 'merchant_id' - в строке
Warning: Cannot assign an empty string to a string offset in - в строке

А в строке находится
Код
if (!isset($params[$key])) $params[$key] = '';

и что сней не так
весь файл на всякий случай
Спойлер
[свернуть]
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Re: LiqPay - плагин оплаты
« Ответ #159 : 19.12.2021, 09:00:25 »
Может попробовать так:
Код
if (!isset($params[$key])) empty($params[$key]);
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Re: LiqPay - плагин оплаты
« Ответ #160 : 31.12.2021, 23:17:26 »
Частично помогло, но я вернул назад. Оказалось это не хватало строк при установке плагина в update.sql Также добавил правки в другие файлы но полноценно проверить плагин в работе не могу так как нет ФЛП. Теперь он правильно переправляет на сайт оплаты выбор способа и тд в итоге заказ проходит но мне пишет
Цитировать
Статуси
Створено:
31.12.2021 21:57:56
Статус платежу:
Помилка
failure
(err_card_receiver_def) Отримувач не встановив картку для отримання платежів
Потестируйте кто может
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин для перехода в приложение Сбербанк

Автор shop-user

Ответов: 5
Просмотров: 2420
Последний ответ 30.03.2023, 19:14:37
от shop-user
Украинские плагины оплаты для версии 5, 0?

Автор Alex_gs

Ответов: 3
Просмотров: 2390
Последний ответ 12.01.2023, 01:16:57
от Alex_gs
Privat24 - плагин оплаты (приват24)

Автор vasya321

Ответов: 84
Просмотров: 23705
Последний ответ 05.07.2022, 10:39:36
от nevigen
Плагин оплаты AlfaBank Казахстана

Автор Kokshetau

Ответов: 4
Просмотров: 2592
Последний ответ 13.01.2021, 18:40:11
от Kokshetau
Плагин оплаты кредитной картой [Альфа-Банк]

Автор v42bis

Ответов: 3
Просмотров: 4433
Последний ответ 30.11.2020, 22:00:28
от nevigen