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

MrAlexSid

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Есть форма заявки на обучение. Зарегистрированные пользователи уже имеют некоторые данные на сайте (Имя, Email, Телефон и т. п.).
Как подставить значения полей CommunityBuilder (или хотя бы пользователей Joomla) в форму ChronoForms 5.
Данные не обязательно должны быть видны в форме. Главное, чтобы они приходили на почту.
На форуме нарыл такое:
Код
 $cbUser = & CBuser::getInstance( $userId );
 if( ! $cbUser ) {
  $cbUser =&CBuser::getInstance( null );
 }
 $user=$cbUser->getUserData();
 if ( ! $user ) {return;}
 ЗНАЧЕНИЕ_ПОЛЯ = $user->ИМЯ_ПОЛЯ;
и
Код
  global $database;
  $sql = "SELECT (ИМЯ_ПОЛЯ) FROM #__comprofiler WHERE id= {$userId}";
  $database->setQuery( $sql );
  ЗНАЧЕНИЕ = $database->loadResult();
Я в этом плохо разбираюсь, но как понял, это получение значений из базы данных CB. Возможно нужен ещё где нибудь, какой нибудь код.
Собственно, что и куда нужно вставлять? На примере одного поля, если можно поподробнее. Если знаете, где такой вопрос описан, дайте пожалуйста ссылку.
Заранее спасибо!
*

MrAlexSid

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
С CommunityBuilder не разобрался, но удалось вытащить данные из #__users
Я в форму добавил Пользовательский код (Custom Code)
Код
<?php
$user =& JFactory::getUser();
$name = '';
$email = '';
$readonly = '';
if ( $user->id > 0 ) {
  $name = $user->name;
  $email = $user->email;
  $readonly = "readonly='readonly'";
}
?>

<div class="form-group gcore-form-row" id="name_container_div" style="">
  <label class="control-label gcore-label-left required_label" for="name">Ф.И.О.:</label>
  <input class="form-control A" id="name" maxlength="150" size="30" class=""
    title="" value=" <?php echo $name; ?> " name="name"
    type="text" <?php echo $readonly; ?> />
  <div class="clear"></div>
  <div id="error-message-name"></div>
</div>

<div class="form-group gcore-form-row" id="email_container_div" style="">
  <label class="control-label gcore-label-left required_label" for="email">Email:</label>
  <input class="form-control A" id="email" maxlength="150" size="30" class=""
    title="" value=" <?php echo $email; ?> " name="email"
    type="text" <?php echo $readonly; ?> />
  <div class="clear"></div>
  <div id="error-message-email"></div>
</div>
Код <?php echo $readonly; ?> делает поле input доступным только для чтения. Уберите, чтобы разрешить редактировать.
Если пользователь не авторизован, будут показаны обычные текстовые поля для заполнения.
Если хотите скрыть в форме Ф.И.О. и (или) Email, добавьте в стили блоков style="display: none;"

Соответственно в почте нужно добавить строчки:
Код
<table>
<tr><td>Ф.И.О.:</td><td>{name}</td></tr>
<tr><td>Эл. почта:</td><td>{email}</td></tr>
</table>

Источник: http://www.chronoengine.com/faqs/58-cfv4/cfv4-elements-and-html/3119-how-can-i-ask-new-users-for-information-and-not-ask-logged-in-users.html
« Последнее редактирование: 27.10.2015, 17:31:59 от MrAlexSid »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

url материала на email (ChronoForms) [Решено]

Автор Konstantinl

Ответов: 20
Просмотров: 13862
Последний ответ 12.08.2022, 03:00:20
от jesus
Как выводиться форма в модуле? ChronoForms 7?

Автор Alex_iPod

Ответов: 3
Просмотров: 3636
Последний ответ 26.04.2022, 06:19:06
от marksetter
Как вывести форму во всплывающем окне?

Автор sergspb

Ответов: 0
Просмотров: 3014
Последний ответ 20.12.2021, 14:48:30
от sergspb
Как в ChronoForms сделать изменение формы в зависимости от выбора?

Автор sashka17

Ответов: 0
Просмотров: 3676
Последний ответ 08.02.2021, 09:33:52
от sashka17
ChronoForms 3 перестал работать на joomle 2.5.9. Ищу совета или специалиста

Автор RuslanKazan

Ответов: 2
Просмотров: 3714
Последний ответ 09.12.2020, 14:19:18
от draff