Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

Читать статью на Хабре.

@joomlafeed

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

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

mt_3000

  • Захожу иногда
  • 93
  • 2 / 0
Помогите спецы!
Задача:
Доступ к форме имеют только зарегистрированные пользователи, значит отпадает необходимость в заполнении Имени, Логина, и email .
Так вот нужно, чтобы в письме на почту приходили Логин и email пользователя отправившего сообщение.
Помогите пожалуйста!
« Последнее редактирование: 31.01.2013, 14:36:03 от AL_ALEX »
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Моя задача была немножко другая, но решение Вам поможет  ;)
В принципе этим можно в универсальном случае просто упростить заполнение формы для авторизованных пользователей. Чтобы логин, ФИО, допустим, email, почтовый адрес и т.д. заполнялись из таблицы пользователей Joomla или таблицы CommunityBuilder и др.
Итак,  ^-^ решение в следующем:

При создании поля формы (например, делаем Textbox) есть такая область Default Value.
Так вот эту область нужно запонить кодом, который обрамить сначала //<code> и в конце //</code>

Пример:

1) Если речь идёт о логине, email или других данных из родной таблицы пользователей joomla:
   
В поле Default Value вставляем код:
Код
//<code>
$rsuser=JFactory::getUser();
return $rsuser->get('email');
//</code>

Соответственно это для email ))

2) Если речь идёт о данных из таблицы CommunityBuilder которые нужно вытянуть, то:

В поле Default Value вставляем код:
Код
//<code>

$my = & JFactory::getUser();
$db = JFactory::getDBO();
if ($my->get('id')) {
$db->setQuery("SELECT phone FROM jos_comprofiler WHERE user_id=".$my->id." LIMIT 1");
return $db->loadResult();}

//</code>

Это соответственно для поля phone (номер телефона) для примера.
Ну и, думаю, понятно, что тут для J1.5 коды.

В Вашем случае можно просто сделать скрытые поля Hidden Field с таким автозаполнением Default Value и отправлять их значения в письме.

После того, сколько я перерыл в поисках этих решений, уверен эта информация пригодится не только Вам )))

(автозаполнение полей формы RSForm из базы данных пользователей cb Community Builder)

Если будут вопросы, пишите, по возможности помогу.
« Последнее редактирование: 06.05.2012, 18:12:22 от rsn »
Возможно, будет интересно: Интеграция с Ozon
*

ivoname

  • Новичок
  • 5
  • 0 / 0
Подскажите, что может быть? Вставляю скрипт как описано тут в Defaul Value, жму сохранить, в ответ форма, меню все пропадает, с лева становятся большие иконки настройки компонентов! Ни чего не могу сделать, только как в браузере нажать назад и ни чего не сохраняется!
Кто что подскажет, спасибо!
P.S. Используется Joomla! 1.0.12, RSForm!Pro 1.2.0 rev 21
« Последнее редактирование: 01.11.2013, 17:46:06 от ivoname »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Сбросить Support Ticket ID

Автор goga_pgasovav

Ответов: 1
Просмотров: 1333
Последний ответ 06.11.2024, 20:58:02
от goga_pgasovav
Передача данных из формы по API

Автор timofe

Ответов: 1
Просмотров: 2255
Последний ответ 22.02.2024, 19:00:13
от ProtectYourSite
Создание формы с проверкой данных из списка

Автор igineo

Ответов: 6
Просмотров: 3199
Последний ответ 15.02.2023, 20:06:44
от sivers
Подскажите как убрать незаполненные поля при отправке формы

Автор do_s

Ответов: 17
Просмотров: 7684
Последний ответ 11.11.2021, 07:46:01
от АлексейБеляев
Отправка группе пользователей

Автор tvorec1988

Ответов: 0
Просмотров: 3030
Последний ответ 14.07.2021, 15:22:07
от tvorec1988