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

Torchez

  • Захожу иногда
  • 96
  • 5 / 0
Здравствуйте!

Собственно, сабж :) ЕСС+ оказался неработоспособен (тема на форуме),  keycaptcha не походит по этическим соображениям. Есть ли что-то, что что остановит регистрацию ботов и будет выглядеть нормально? Оптимальна та же reCAPTCHA.

Спасибо.
*

Torchez

  • Захожу иногда
  • 96
  • 5 / 0
Ни кто капчу не использует?
*

Denikin

  • Захожу иногда
  • 76
  • 0 / 0
  • Только Учусь)))
или её просто нету)))) честно боты дочтали) активацию по письму проходят) дальше серут на сайте)))
старая CAPTCHA в новой версии не работает) рекапчу бы прикрутить)
*

Torchez

  • Захожу иногда
  • 96
  • 5 / 0
ReCAPTCHA от ЕСС+ ботов пропускает, а его встроенная не работает нормально. Ну не может же быть такого, чтоб рабочих вариантов не было.
*

Denikin

  • Захожу иногда
  • 76
  • 0 / 0
  • Только Учусь)))
Когда стояла Joomla 1.5 и cb 1.9 то защитой от ботов было поле towns от компонента com_towns) он защищал меня от ботов) так как это поле было обязательно и действовало только на один правильный город в подсказке) чего бот не видел и пропускал) тем самым не мог зарегиться)))
на j 3.3 и cb 2.0.4/5 такое уже не наблюдал)))
*

epson950

  • Захожу иногда
  • 119
  • 2 / 1
у меня на 2.0.5 стоит старая реCAPTCHA и работает. ее пришлось немного подкрутить, но что делал ща не помню, рецепт нашел в инете минут за 5
*

Torchez

  • Захожу иногда
  • 96
  • 5 / 0
«старая реCAPTCHA» – это какая? Было бы здорово, если бы вы вспомнили решение или же место, откуда его взяли, потому как я уже обыскался...
*

wrazrez

  • Новичок
  • 4
  • 1 / 0
«старая реCAPTCHA» – это какая? Было бы здорово, если бы вы вспомнили решение или же место, откуда его взяли, потому как я уже обыскался...
Приветствую! Недавно тоже был озадачен поиском рабочей reCAPTCHA для CommunityBuilder 2.0.6...

Собственно вот: https://code.google.com/p/cb-recaptcha/downloads/list - единственный рабочий плагин из мной опробованных...
*

Denikin

  • Захожу иногда
  • 76
  • 0 / 0
  • Только Учусь)))
Приветствую) после установки CAPTCHA появилась ошибка Warning: Parameter 4 to getReCAPTCHAtab
*

Torchez

  • Захожу иногда
  • 96
  • 5 / 0
Приветствую! Недавно тоже был озадачен поиском рабочей reCAPTCHA для CommunityBuilder 2.0.6...

Собственно вот: https://code.google.com/p/cb-recaptcha/downloads/list - единственный рабочий плагин из мной опробованных...
Не сработало...
*

wrazrez

  • Новичок
  • 4
  • 1 / 0
Не сработало...
Попробуйте вот этот плагин: https://cloud.mail.ru/public/ece4c9f61f22/plg_CBrecaptcha_1.1.6.zip

Проверил на CB 2.0.7 - вроде всё работает...
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Спасибо, отлично стал и отлично работает. У меня стоит Joomla 3.4.0 + CommunityBuilder 2.0.7 for 3.4.X
И не пишет, что не совместим...

Старый плагин. Как говориться: "Новое, хорошо забытое старое..."
Кстати задавал на официальном форуме CommunityBuilder - говорят, что только платный...
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

Denikin

  • Захожу иногда
  • 76
  • 0 / 0
  • Только Учусь)))
Попробуйте вот этот плагин: https://cloud.mail.ru/public/ece4c9f61f22/plg_CBrecaptcha_1.1.6.zip

Проверил на CB 2.0.7 - вроде всё работает...
Спасибо! работает!
*

esmark

  • Захожу иногда
  • 91
  • 9 / 0
Цитировать
Попробуйте вот этот плагин: https://cloud.mail.ru/public/ece4c9f61f22/plg_CBrecaptcha_1.1.6.zip

Проверил на CB 2.0.7 - вроде всё работает...
Кто-нибудь перезалейте, пожалуйста, рабочий плагин СВ.
Ссылка уже нерабочая.
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Лови по лучше, уже вышел новый (старый удалил):
Он имеет как свои каптчу - так и ReCaptcha (Google), работает с новой версией ReCaptcha - ну короче разберешься...
Проверял от 2.0.7 - 2.0.9
« Последнее редактирование: 20.11.2016, 19:21:53 от warlocksp »
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

AlucarD

  • Захожу иногда
  • 82
  • 1 / 0
Написал вам в личку
*

skiv99

  • Новичок
  • 2
  • 0 / 0
Такая проблема: CommunityBuilder 2.0.9 плагин рекпчи plug_cbantispam_2.0.0.zip но не работает при регистрации выдает Invalid Captcha Code.
Но самое интересное не работает даже обычная CAPTCHA этого плагина, ни символы, ни ответ на вопрос. Подскажите в какую сторону копать?
*

reasons

  • Захожу иногда
  • 382
  • 6 / 0
  • http://dehost.biz
plug_cbantispam_2.0.0.zip работает
но хотелось бы проще каптчу, свой вопрос - ответ как в  calcchek++
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Плагин работает...
« Последнее редактирование: 16.06.2015, 12:06:52 от warlocksp »
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

reasons

  • Захожу иногда
  • 382
  • 6 / 0
  • http://dehost.biz
Цитировать
но хотелось бы проще каптчу, свой вопрос - ответ как в  calcchek++
да тут оказывается и вопрос можно сделать свой
спасибо warlocksp
*

Никонор

  • Захожу иногда
  • 59
  • 0 / 0
поделитесь капчей :)
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
поделитесь капчей :)

Скачивай вверху в моем посте во вложенном...
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Позвольте немного пофлудить...

Когда вы ходите по сайтам, где каждый второй требует регистрации, а при нажатии кнопки выдает форму из кучи обязательных полей, картинкой с кодом или фоткой номера чьего то чужого дома, вы, как минимум, испытываете раздражение, верно?

Люди пытаются защитить себя от нежелательных регистраций, усложняя форму регистрации, в то время как другая группа людей пишет код, обходящий защиту. И она будет успешна, так как это не просто пользователи интернета, это - специалисты своего дела.

Возникает вопрос - сможете ли вы защититься от целевой атаки? Ответ - никогда! Вопрос - сможете ли вы защититься от автоматической атаки? Ответ - возможно, но временно, так как механизмы ботов постоянно совершенствуются. И, что бы вы не придумали, боты всегда имеют шанс обойти эту защиту, ибо программист умнее админа сайта.

Теперь возникает вопрос - что делать?

Одно время считалась панацеей ReCaptha от Google, сейчас она уже версии 2.0. В большинстве случаев ломается ботами. Так что ее использование не всегда оправдано. Есть CAPTCHA, где нужно собрать картинку из 4-х кусочков, есть видеоCAPTCHA, где код для ввода показывается в виде видеоролика, есть... Да много чего есть. Лично мне помогал избавиться от назойливых ботов всего один простой, в пару строчек, JavaScript, заполняющий скрытое поле ключом.

Если заходил бот, то он JavaScript, естественно, не выполнял, и поле не заполнял. И регистрация таким образом не проходила. А пользователь видел всего два поля в форме регистрации - введите мыло и желаемый пароль. ВСЕ.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

oriroman

  • Новичок
  • 8
  • 0 / 0
Друзья всем привет, требуется помощь! У меня Joomla 2.5,28 установил CommunityBuilder 2,0,9 потом поставил плагин антиспама plug_cbantispam_2.0.0.zip по совету выше благодарю, все заработало!
« Последнее редактирование: 28.10.2015, 09:20:21 от oriroman »
*

bicka

  • Захожу иногда
  • 68
  • 3 / 0
  • Уха-ха
Скачивай вверху в моем посте во вложенном...
Здравствуйте. А нет такой же только для CB 1.9.1. Спасибо.
*

reasons

  • Захожу иногда
  • 382
  • 6 / 0
  • http://dehost.biz
Цитировать
Здравствуйте. А нет такой же только для CB 1.9.1. Спасибо.
наверно лучше обновиться до последней версии в плане безопасности
а для 1.9 EasyCalcCheck Plus должен подойти
*

Torchez

  • Захожу иногда
  • 96
  • 5 / 0
Чего-то я не понимаю. Поставил, опубликовал плаг-ин и поле с показом reCAPTCHA. На странице регистрации не отображается. Если включить капчу на напоминание пароля или на логин – отображается, работает. А на странице регистрации поля с капчей нет. Что я не доделал?
*

Bmw258

  • Захожу иногда
  • 76
  • 4 / 0
Лично мне помогал избавиться от назойливых ботов всего один простой, в пару строчек, JavaScript, заполняющий скрытое поле ключом.

Если заходил бот, то он JavaScript, естественно, не выполнял, и поле не заполнял. И регистрация таким образом не проходила. А пользователь видел всего два поля в форме регистрации - введите мыло и желаемый пароль. ВСЕ.
Поделитесь тогда своим скрытым кодом и инструкцией, если не сложно, спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Возможность сделать разные типы регистрации

Автор kurz

Ответов: 0
Просмотров: 3994
Последний ответ 03.11.2022, 12:04:04
от kurz
Убрать имя (настоящее) при регистрации и в личном кабинете

Автор Vlad1

Ответов: 6
Просмотров: 2635
Последний ответ 27.09.2022, 22:01:21
от Vlad1
Есть готовые сборки СВ?

Автор nick71

Ответов: 0
Просмотров: 3556
Последний ответ 29.06.2017, 07:21:09
от nick71
Выбор Joomla группы при регистрации в CommunityBuilder

Автор andrewbubblegum

Ответов: 9
Просмотров: 4933
Последний ответ 04.03.2016, 12:26:31
от dimasan57
Вывод формы регистрации CB 2.0 Joomla 3

Автор createzone

Ответов: 1
Просмотров: 2833
Последний ответ 27.02.2016, 18:46:05
от createzone