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

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Всем привет. Помогите советом. Какой платежный модуль или сторонняя платежная система адекватно работает с зарубежными картами Visa, Mastercard и различные PayPal, MoneyBookers и т.д., для которых не требуется быть юридическим лицом.
Сейчас использую систему Onpay.ru, вроде все есть и все нравится, но на деле очень много людей из-за бугра не могут оплатить.
*

gray

  • Захожу иногда
  • 58
  • 1 / 0
По личному опыту убедился, что из-за бугра кроме как ПейПалом платить не умеют :)
Иногда проходит Монейбукерс, особенно кто из Европы. Но и с ним проблемы (в частности, если оплачивают из США и ОАЭ).
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
*

gray

  • Захожу иногда
  • 58
  • 1 / 0
Самый распространенный маневр - регистрация ПейПала на кого-то из страны где разрешен прием денег.
Этот-то "кто-то" должен быть реальной личностью. Рано или поздно PayPal запросит подтверждение, что счет принадлежит человеку из данной страны.

Второй вариант - "обучать" постоянный клиентов оплачивать через Вебмоней, Монейбукерс и ЛикПей, т.е. те системы которые работают на вывод в Украине/России. Из личного опыта - Вебмоней для зарубежников не проходит вообще. Монейбукерс - так себе. ЛикПей - больше всего. Но учтите - по правилам ЛикПея экваиринг (т.е. получение денег с зарубежных карт Виза/Мастер с прямым зачислением на карту/счет) могут проводить только юр. лица - прочтите договор. Хотя они вам дадут без проблем зарегится. Подробнее об LiqPay.
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
А что будет, если я просто открою стандартный способ оплаты PayPal и укажу свою почту?
Пишут, что достаточно аккаунта premier.
Тестовые платежи проходят и отрабатывают на сайте!
*

gray

  • Захожу иногда
  • 58
  • 1 / 0
На какую страну будет открыть счет ПейПала?
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Либо я не разобрался в админке PayPal, но я не могу найти, где это создается. У меня есть аккаунт типа Premier. Все данные - Россия.
В документации сказано, что достаточно премьер аккаунта https://www.paypal.com/ru/cgi-bin/webscr?cmd=_wp-standard-integration
Если я впишу эмейл существующего аккаунта, он просто не заработает? Мой счет - это что-то другое?
*

gray

  • Захожу иногда
  • 58
  • 1 / 0
Либо я не разобрался в админке PayPal, но я не могу найти, где это создается. У меня есть аккаунт типа Premier. Все данные - Россия.
В документации сказано, что достаточно премьер аккаунта https://www.paypal.com/ru/cgi-bin/webscr?cmd=_wp-standard-integration
Если я впишу эмейл существующего аккаунта, он просто не заработает? Мой счет - это что-то другое?
Что именно создается?
Оплату можно получать указав плательщику емейл привязанный к ПейПалу.
Для создания кнопочек на оплату есть меню в админке ПейПала (Merchant Services на англ.).
ЗЫ. Счета из России могут получать деньги, но вывод - только на банк. счет в США. См. тут.
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Так... Согласен, что начал спрашивать одно, а потом перешел в другую тему. Подведем итог, правильно ли я понял.
1) Сделать возможность оплаты через PayPal может любой счет PayPal, имеющий статус premier или business, независимо от страны. И для этого нам вполне подходит стандартный модуль VM2. Достаточно указать только эмейл в его настройках.
2) Выводить деньги напрямую из PayPal можно только в банки разрешенных стран. Стран СНГ в этом списке нет.
Все верно? А то уже побежал включать модуль оплаты PayPal :) Просто те же Webmoney и сторонние платежные системы проводят проверку сайта для возможности использования АПИ, поэтому искал подвох в пункте 1.
*

gray

  • Захожу иногда
  • 58
  • 1 / 0
1) Сделать возможность оплаты через PayPal может любой счет PayPal, имеющий статус premier или business, независимо от страны. И для этого нам вполне подходит стандартный модуль VM2. Достаточно указать только эмейл в его настройках.
Нет, статус premier или business дает возможность получать деньги на счет, только если он открыт из страны дозволенной ПейПалом для этого. Например, украинский счет не может принимать оплаты из-за ограничений ПейПала. Российский счет - может (нужно проверить лимиты на прием и вывод - посмотрите в админ. части).
2) Выводить деньги напрямую из PayPal можно только в банки разрешенных стран. Стран СНГ в этом списке нет.
Все верно? А то уже побежал включать модуль оплаты PayPal :) Просто те же Webmoney и сторонние платежные системы проводят проверку сайта для возможности использования АПИ, поэтому искал подвох в пункте 1.
Опять же - зависит от страны счета. Для российских - только вывод на банк. счет в США. Почитайте тут вариант решения.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Квитанция Сбербанка

Автор semibratov

Ответов: 27
Просмотров: 11945
Последний ответ 26.01.2016, 11:31:25
от GenneS
Итоговая стоимость

Автор ka4_piton

Ответов: 2
Просмотров: 1524
Последний ответ 27.09.2015, 11:14:07
от ka4_piton
Зависимость способа оплаты и способа досm

Автор kreativ

Ответов: 8
Просмотров: 4102
Последний ответ 11.09.2015, 10:56:24
от nusiena
Платежная система для VirtueMart 2.x (Украина)

Автор Tol82

Ответов: 5
Просмотров: 6909
Последний ответ 05.02.2014, 20:50:57
от mario052
Плагин доставки: Почта России

Автор Radiocity

Ответов: 9
Просмотров: 5636
Последний ответ 05.01.2013, 12:59:34
от Undorik