Новости Joomla

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

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

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

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

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

🏆 Открыто голосование за 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 Гость просматривают эту тему.
  • 7 Ответов
  • 2239 Просмотров
*

I-Trap

  • Новичок
  • 6
  • 0 / 0
Дополнить таблицу Users
« : 11.05.2010, 17:43:48 »
всем привет, на моем сайте необходимо реализовать реферальную систему,
по сути пока моя задача заключается в том чтобы заносить в стандартную таблицу с юзерами дополнительный параметр (логин реферала)

соответсвующее поле в табличке #_users я создал.

в классе  JUser по адресу libraries/joomla/user/user.php - добавил соответствующую переменную.

Ну и соответственно в components/com_user/controller.php есть функция register_save() - туда добавил свою строчку:
$user->set('ref', '111');

Но, к сожалению при регистрации значение ref никуда не падает, подскажите что я упустил?
 
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Дополнить таблицу Users
« Ответ #1 : 11.05.2010, 17:49:23 »
Должно попадать. Если в базе поле есть, если в классе оно точно так же названо как в базе, если вставили до вызова функции save, то все должно работать.
*

I-Trap

  • Новичок
  • 6
  • 0 / 0
Re: Дополнить таблицу Users
« Ответ #2 : 11.05.2010, 18:14:11 »
Должно попадать. Если в базе поле есть, если в классе оно точно так же названо как в базе, если вставили до вызова функции save, то все должно работать.

не совсем пойму о какой функции save идет речь?
Данную строчку "$user->set('ref', '111');" я воткнул в функцию function register_save() {...};
соответсвенно    function save() находится выше, но там не происходит операций присвоения к полям бд

В "$user->set('ref', '111');" по идее 111 это то, что должно упасть в БД, туда позже я воткну свою переменную, но пока и это не срабатывает
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Дополнить таблицу Users
« Ответ #3 : 11.05.2010, 18:15:44 »
не совсем пойму о какой функции save идет речь?
блин, я описался.. я говорил о $user->store()
*

I-Trap

  • Новичок
  • 6
  • 0 / 0
Re: Дополнить таблицу Users
« Ответ #4 : 11.05.2010, 19:02:52 »
Спасибо, разобрался заработало
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Дополнить таблицу Users
« Ответ #5 : 11.05.2010, 19:16:43 »
А в чем была проблема? Где ошиблись?
*

I-Trap

  • Новичок
  • 6
  • 0 / 0
Re: Дополнить таблицу Users
« Ответ #6 : 12.05.2010, 10:12:50 »
А в чем была проблема? Где ошиблись?

Не внес переменную в класс  JTableUser  в файле libraries/joomla/database/table/user.php, там как раз и описан тот самый store
Оказывается правки файла libraries/joomla/user/user.php было не достаточно
*

ejnadall

  • Новичок
  • 1
  • 0 / 0
Re: Дополнить таблицу Users
« Ответ #7 : 06.06.2010, 17:21:32 »
Спасибо за наводку!
Просидел 3 часа. Думал найду... Устал. Набрал в поиске и тут нашел ответ!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

как создать таблицу в Joomla ?

Автор vova666

Ответов: 19
Просмотров: 19694
Последний ответ 30.07.2012, 10:33:53
от antivampoed
как поставить фоновую картинку поверх основного фона в таблицу php

Автор serjik

Ответов: 3
Просмотров: 10903
Последний ответ 07.04.2011, 15:43:50
от serjik
Можно ли очистить таблицу jos_bannertrack?

Автор anemone

Ответов: 2
Просмотров: 2638
Последний ответ 10.03.2011, 11:47:23
от anemone