Новости Joomla

Свои типы полей в 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 для атрибута addfieldprefixnamespace 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 #разработка

Обновлена информация в Плане развития Joomla

👩‍💻 Обновлена информация в Плане развития Joomla.Здесь собрана информация о датах релизов, описаны принципы версионирования, указаны ответственные за релизы, а так же даты окончания поддержки релизов. Опираясь на эту информацию вы можете планировать развитие ваших интернет-проектов.👩‍💻 Что нового?⛔️ Joomla 4.Дата окончания исправления ошибок безопасности в версии 4.x - 14 октября 2025г. ⚠️ После этой даты Joomla 4 прекратит получать какие-либо обновления, в том числе безопасности - вообще. Рекомендуем обновить ваши сайты до актуальной Joomla 5.✅ Joomla 5.- Дата окончания исправления ошибок в версии 5.x - 13 октября 2026г.- Дата окончания исправления ошибок безопасности в версии 5.x - 12 октября 2027 года.- Текущая актуальная (на момент написания заметки) версия - 5.3.1.- Опубликовано расписание выхода релизов Joomla 5.4. Стабильный релиз ожидается 14 октября 2025 года.✅ Joomla 6.- Дата окончания исправления ошибок в версии 6.x - 17 октября 2028г.- Дата окончания исправления ошибок безопасности в версии 6.x - 16 октября 2029г.- Опубликовано расписание выхода релизов Joomla 6.0. Стабильный релиз ожидается 14 октября 2025 года.- Для разработчиков уже доступна Joomla 6.0.0-alpha1.✅ Joomla! Framework.Обновлена информация о Joomla! Framework - полноценном PHP-фреймворке для разработки. Он в версиях 1.х и 2.х был самостоятельным параллельным проектом, однако начиная с версии Joomla 4.0 стал её основой. Добавлена информация о Joomla! Framework 3.x, который вышел 6 октября 2023 года. Его можно использовать в тех случаях, когда вам в проекте не нужна CMS Joomla целиком.Подробнее на сайте Joomla-сообщества Joomlaportal.ru#joomla #community

Компания JetBrains рассказала о своей поддержке Joomla

Компания JetBrains рассказала о своей поддержке Joomla

JetBrains - один из мировых лидеров в разработке программного обеспечения для разработчиков. Её программные продукты - это IDE - профессиональные среды разработки, которые отличаются от простого блокнота/редактора с плагинами набором всевозможных инструментов для разработчиков, глубоким анализом кодовой базы, подсказками по ней и по языку программирования, отладкой ошибок и многим-многим другим. Одним из самых известных продуктов компании является IDE PHP Storm, который можно назвать отраслевым стандартом PHP-разработчика.

В статье How PhpStorm Helps Maintain PHP Open-Source Projects: Interviews and Real-World Examples в блоге компании описываются Open Source проекты, которым JetBrains оказывает поддержку (это могут быть бесплатные лицензии для разработчиков для некоммерческих проектов).

В список попали:

  • PHPUnit - фреймворк для unit-тестирования в PHP
  • Doctrine DBAL - библиотека для PHP, которая предоставляет лёгкий и гибкий слой для коммуникации с базой данных. Она поддерживает различные базы данных через единый и согласованный API.
  • CodeIgniter — популярный MVC-фреймворк для разработки на PHP
  • Joomla! - наша любимая CMS.

Эти названия (кроме "Joomla") чаще всего не слышат вебмастера и разработчики обычных сайтов и интернет-магазинов. Но эти названия хорошо знакомы PHP-разработчикам, которые создают сложные и высоконагруженные проекты и микросервисы. То, что Joomla оказалась в одном ряду с такими программными инструментами - делает ей честь.

🙏 За ссылку спасибо участнику нашего сообщества Ринату Кажетову (@rkazhet).

Подпишитесь на @joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 88 Ответов
  • 24994 Просмотров
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Добавляем группы для регистрации и удаляем не нужные поля
Предлагаю вашему вниманию плагин группы User  ^-^
Основные действия плагина регистрации
  • Добавление поля выбора группы для регистрации. Возможность выбора групп для регистрации
  • Убрать поле Имя. Поле имя не будет показано. Будет заменено именем из почты
  • Убрать поле Логин. Поле логин не будет показано. Будет заменено почтовым адресом
  • Убрать поле Пароль. Поле пароль не будет показано. Пароль будет создан автоматически
  • Убрать подтвердить Пароль. Поле подтвердить пароль не будет показано
  • Убрать подтвердить Email. Поле подтвердить Email не будет показано

В самом минимальном варианте остается только поле email. Плагин работает с стандартной формой регистрации.
Предназначен для Joomla 2.5 - 3
Ваши пожелания и рекомендации всегда рад услышать
Пользуйтесь на здоровье!
Плагин добавления групп для регистрации, регистрация в один клик. Скачать

Плагин выложен на https://github.com/vlasenkofedor/usergroup
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Подключил плагин - не работает почему-то. Joomla 3.4.5 Ссылка на регистрацию: http://taxi555111.ru/lichnyj-kabinet?view=registration
Отвечаю
Плагин работает с стандартной формой регистрации.
Отключите плагин K2
*

Arturs2006

  • Осваиваюсь на форуме
  • 36
  • 0 / 1
Отключите плагин K2
Так отключен же. Сделал как тут написано http://joomlaforum.ru/index.php?topic=241711.0
« Последнее редактирование: 20.12.2015, 02:17:13 от Arturs2006 »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Так отключен же
Иногда хоть в исходный код страницы заглядывайте. Подумайте откуда я взял, что это K2(в разметке прямо указано)
В стандартном плагине нет полей (Изображение пользователя (аватар), URL)
   
*

Arturs2006

  • Осваиваюсь на форуме
  • 36
  • 0 / 1
А как тогда отключить? Сделал как тут было сказано http://joomlaforum.ru/index.php?topic=241711.0 но как видите не отключилось...
И ещё дурацкий вопрос... Я точно помню, что где-то в админке была возможность убрать ссылку "Забыли пароль?". Но не могу найти где это видел... подскажите пожалуйста где эта настройка находится? Вполне возможно, что там же и К2 отключается.
*

virtucom

  • Захожу иногда
  • 55
  • 1 / 0
А можно ли передать параметр выбора группы в форму регистрации RSForm? Нужны дополнительные поля (к прим. должность, организация) и последующий экспорт списков пользователей в Excel. В связке Ваш плагин и RSForm вышло бы довольно хорошо. Или есть решение попроще?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
А можно ли передать параметр выбора группы в форму регистрации RSForm? Нужны дополнительные поля (к прим. должность, организация) и последующий экспорт списков пользователей в Excel. В связке Ваш плагин и RSForm вышло бы довольно хорошо. Или есть решение попроще?
Вы не стого конца подходите. Нужны дополнительные поля вот решение http://library.logicsistemi.it/en/joomla/general-topics/40-joomla-25-extending-users-data-with-custom-fields
RSForm никакого абсолютно не имеет отношения к регистрации
*

daria_z

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
подскажите, как подключить плагин к регистрации CommunityBuilder
*

virtucom

  • Захожу иногда
  • 55
  • 1 / 0
Цитировать
А можно ли передать параметр выбора группы в форму регистрации RSForm? Нужны дополнительные поля (к прим. должность, организация) и последующий экспорт списков пользователей в Excel. В связке Ваш плагин и RSForm вышло бы довольно хорошо. Или есть решение попроще?
Вы не стого конца подходите. Нужны дополнительные поля вот решение http://library.logicsistemi.it/en/joomla/general-topics/40-joomla-25-extending-users-data-with-custom-fields
RSForm никакого абсолютно не имеет отношения к регистрации
Федор, Вы меня извините за настойчивость :) Но предложенный Вами способ не решит всех стоящих передо мною задач за один раз.
Может, я ошибаюсь, но одна из важных функций RSForm - заменять собой стандартную форму регистрации.
Для меня RSForm удобна по многим параметрам: добавление любых полей средствами компонента, удобный экспорт данных в Excel и CSV
Есть так же важная функция вывода данных в полях из БД.
Вот я для наглядности проиллюстрирую, что мне нужно.

Спойлер
[свернуть]

Извините за долгое объяснение, но вот про этот случай я спрашивал, как передать параметры выборы группы из Вашего плагина в поле формы RSForm.
Т.к. я не особенно силен в PHP (даже особенно не силен :)  ), использую здесь принцип строительства из готовых материалов, не разрабатывая функционал каждый раз с нуля.


« Последнее редактирование: 02.03.2016, 11:36:18 от virtucom »
*

Ramil8009

  • Захожу иногда
  • 147
  • 1 / 1
Так как поменять то местами пароль и почту? Зачем пароль в начале ?
*

yandex_hb

  • Захожу иногда
  • 263
  • 12 / 3
Fedor, большое спасибо за плагин — работает прекрасно.

Только я немного не понимаю. Вот тут вы подменяете значение username на email:
Код: php
if ($this->del_username) $data->username = $data->email1;

Я добавляю в плагин ещё и проверку формы редактирования профиля:
Код: php
public function onContentPrepareData($context, $data) {
  if (($context != 'com_users.registration' && $context != 'com_users.profile') || !is_object($data)) return true;
.....
function onContentPrepareForm($form, $data) {
  if ($form->getName()!= 'com_users.registration' && $form->getName()!= 'com_users.profile') return true;
Выключенные поля исчезли. Появился выбор группы.

Но при смене email не меняется username... Подскажите, что я упускаю?

upd: попробовал такую конструкцию добавить, не работает.
« Последнее редактирование: 24.09.2016, 02:56:38 от yandex_hb »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

yandex_hb

  • Захожу иногда
  • 263
  • 12 / 3
Точно, работает. Спасибо!
Менял эту проверку в onUserBeforeSave, а тут не догадался.

А можете объяснить почему смена username не происходит в onContentPrepareData или в onUserBeforeSave?
robert в той ветке пишет: "onUserBeforeSave не получится менять рег. данные: объект $table уже предопределен до этого".
Но ведь смена email при редактировании происходит без проблем?
« Последнее редактирование: 24.09.2016, 12:39:13 от yandex_hb »
*

wowkarak

  • Захожу иногда
  • 58
  • 0 / 0
Привет
ребята можно еше раз как имено поменять чтоб имя бралось не с емаила а из логина и не было пролем потом как аписоно в начале ?
может кстате в самом плгине допилить от кудо брать значение
*

anoorik

  • Захожу иногда
  • 113
  • 0 / 0
Не отображается в форме
*

rmfalx

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Добавляем группы для регистрации и удаляем не нужные поля
Предлагаю вашему вниманию плагин группы User  ^-^
Основные действия плагина регистрации
  • Добавление поля выбора группы для регистрации. Возможность выбора групп для регистрации
  • Убрать поле Имя. Поле имя не будет показано. Будет заменено именем из почты
  • Убрать поле Логин. Поле логин не будет показано. Будет заменено почтовым адресом
  • Убрать поле Пароль. Поле пароль не будет показано. Пароль будет создан автоматически
  • Убрать подтвердить Пароль. Поле подтвердить пароль не будет показано
  • Убрать подтвердить Email. Поле подтвердить Email не будет показано

В самом минимальном варианте остается только поле email. Плагин работает с стандартной формой регистрации.
Предназначен для Joomla 2.5 - 3
Ваши пожелания и рекомендации всегда рад услышать
Пользуйтесь на здоровье!


У меня вопрос к автору. Есть такой плагин SMSFox для подтверждения регистрации по sms. Скажите, можно как-то подружить ваш плагин и плагин подтверждения по sms чтобы в самой минималистичной версии регистрации оставался не e-mail пользователя а его нмоер телефона?
*

abonnent

  • Новичок
  • 9
  • 0 / 0
Добрый день. Скажите, пожалуйста, как поменять местами поля? Я использовал дополнение "Пользователь - группы", вы даете на него ссылку, убрал ненужные поля. А как поменять местами оставшиеся?
*

abonnent

  • Новичок
  • 9
  • 0 / 0
Так как поменять то местами пароль и почту? Зачем пароль в начале ?
Добрый день. Вы смогли поменять местами пароль и эл.ящик? Если да , то как?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Добрый день. Вы смогли поменять местами пароль и эл.ящик? Если да , то как?

версткой макетов этих видов, которые вы должны переопределить в своем шаблоне в папке HTML
*

Almaziko

  • Новичок
  • 5
  • 1 / 0
Всё так просто, ахах. ТС спасибо за простое и отличное решение!
*

Fess_N

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Действительно простое - проще как есть оставить. Со временем станет привычным.
*

maska

  • Осваиваюсь на форуме
  • 42
  • 1 / 0
Fedor
Добрый день, спасибо за плагин.
Подскажите пожалуйста как при отключенном поле пароль, пароль генерируется автоматически? И как сделать чтобы при отключенном поле маил, тоже генерировался автоматически.
Спасибо.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
 пароль генерируется автоматически
Цитировать
ак сделать чтобы при отключенном поле маил, тоже генерировался автоматическиl
написать генератор mail аналогично паролю, только как вы планируете осуществлять восстановление пароля, которое привязано к email
*

vm0777

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Отличный плагин - простой, понятный, свою функцию отрабатывает на 100%!

« Последнее редактирование: 28.07.2018, 05:15:53 от vm0777 »
*

tuztref

  • Новичок
  • 9
  • 0 / 0
  • arbiter elegantia
Автору + за плагин! Я столкнулся с проблемой - вывод выбора группы при регистрации не на стандартном шаблоне Joomla. Подскажите, где раскопать вывод полей выбора группы, если шаблон не стандартный? Я не использую К2, но использую Virtuemart и AcyMailing - они могли повлиять на отсутствие полей для выбора группы пользователей на форме регистрации? Или это чисто шаблон их не подхватил?
« Последнее редактирование: 16.08.2018, 12:24:19 от tuztref »
*

nikola_blin

  • Захожу иногда
  • 145
  • 8 / 3
Доброго времени суток. Отличный плагин, спас от муторного конфигурирования кастомных полей.
В плагине добавление поля реализовано через тип sql, который в итоге рендерится как <select>.
Возможно ли сформировать вывод результатов запроса в виде radiobutton? Не подскажите, куда копать?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Вам придется написать свой custom fields https://docs.joomla.org/Creating_a_custom_form_field_type
В стандартном такой возможности нет https://docs.joomla.org/Special:MyLanguage/Radio_form_field_type
Заменив им в plugins/user/usergroup/usergroup.xml
Код
<field name="groups" type="usergroup"
                       label="PLG_USERGROUP_FIELD_NAME_FORMS_LABEL"
                       description="PLG_USERGROUP_FIELD_NAME_FORMS_DESC"
                       multiple="true"
                        size="20"/>
Или вывести там радио по примеру ссылки выше с своими группами и значениями (хардкод)
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Интересный плагин.
Пробую на локалке оставить поля логин и почта только - и.. висит

Я так понимаю - пытается отправить через phpmail, который на локалке не работает, но работает sendmail - который и выставлен в общих настройках

Всё ок, подтормаживает sendmail

Просьба в шапку добавить что надо в Users-User options выставить Send Password если есть делание его скрывать
« Последнее редактирование: 10.01.2019, 03:24:47 от voland »
*

SLV

  • Захожу иногда
  • 79
  • 3 / 0
Здравствуйте.
Отличный плагин. Именно то, что надо было.

Подскажите, может как-то можно дать группам "человеческие названия" при выборе при регистрации.
Например Registered - Зарегистрированный пользователь сайта, Partner - Партнеры компании и.т.п. Причем для мультиязычного сайта.
Понимаю, что это не задача плагина, но все же. Хоть куда копать?

Уже накопал, что можно отредактировать уровни доступа. :)

И тогда еще. А можно как-то сделать, чтобы использовать не группы пользователей, а уровни доступа.  Так как реализован доступ для меню, модулей, статей ...
« Последнее редактирование: 23.05.2019, 20:14:29 от SLV »
*

wowkarak

  • Захожу иногда
  • 58
  • 0 / 0
А есть возможность обновить его до Joomla 4
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин для контента сравнения 2х изображений шторкой - juxtapose

Автор Beer

Ответов: 1
Просмотров: 505
Последний ответ 12.06.2025, 13:38:09
от Beer
Плагин для закрытия ссылок в Joomla 3 - noExternalLinks

Автор buyanov

Ответов: 65
Просмотров: 16987
Последний ответ 06.04.2025, 02:51:35
от azm1n
Бесплатный плагин импорта экспорта данных в поля материалов Joomla - CFI

Автор zikkuratvk

Ответов: 9
Просмотров: 6382
Последний ответ 02.06.2024, 06:38:19
от SolopoV
WT Content Like плагин кнопки лайк для материалов Joomla

Автор sergeytolkachyov

Ответов: 1
Просмотров: 2977
Последний ответ 18.05.2024, 19:18:26
от sergeytolkachyov
Плагин h2captcha (hcaptcha.com)

Автор voland

Ответов: 3
Просмотров: 3027
Последний ответ 11.03.2024, 08:29:12
от wishlight