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

Artus84

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
 :D Подскажите по настройке ChronoForms5 на Joomla 3.3.6. В форме есть выпадающий список. Нужно что бы при выборе определенного пункта списка, почта уходила на один email. При выборе другого пункта на другой email. В списке 10 пунктов  а email-ов два. Вот по 5 пунктов на email. Так будет каждый менеджер получать свою категорию клиентов. Такое возможно сделать на ChronoForms?
*

yura_yushkevich

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Здравствуйте. Такая же проблема и такая же задача.... Помогите пожалуйста реализовать.
*

Artus84

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
Здравствуйте. Такая же проблема и такая же задача.... Помогите пожалуйста реализовать.
Проблему еще не решил. На сайте разработчика вроде что то находил. Но надо разбираться.
*

MrAlexSid

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Нашёл два разных решения, но оба не работают.

Первое решение:
1. Создаю скрытое текстовое поле (Text Box) с ID, к примеру email.
2. Создаю группу флажков (Checkbox Group), в зависимости от выбора которых, письма с формой будут отправляться на тот или иной эл. адрес.
3. В событиях Checkbox Group указываю адреса эл. почты:
Спойлер
[свернуть]
В последнем столбце указываю getElementById('email').value='name@domain.com', чтобы эл. адрес name@domain.com был прописан в текстовое поле с ID=email
4. В настройке почты, на вкладке "Расширенный" (Advanced), в первой строке Динам. адрес (Dynamic To) указываю ID скрытого текстового поля email
Debugger показывает, что значения эл. почты не передаются:
Код
[recipients] => em2
[email] => пусто
recipients - это ID Checkbox Group
Вроде все верно. Ошибка может быть только в конструкции getElementById('email').value='name@domain.com'. Подскажите, если где ошибаюсь. У меня ChronoForms v5, Joomla 3
Источник

Второе решение:
1. Создаю ту же группу флажков (Checkbox Group), в зависимости от выбора которых, письма с формой будут отправляться на тот или иной эл. адрес.
ID задаю recipients, в Options прописываю:
Код
em1=эл.почта 1
em2=эл.почта 2
em3=эл.почта 3
2. В настройках, в On submit создаю пользовательский код (Custrom Code), в котором прописываю:
Код
<?php
// set a default recipient
$recipient = 'em1';
if ( isset($form->data['recipients']) && $form->data['recipients'] ) {
  $recipient = $form->data['recipients'];
}
$emails = array (
  'em1' => 'name1@domain.com',
  'em2' => 'name2@domain.com',
  'em3' => 'name3@domain.com');
$form->data['email_to_use'] = $emails[$recipient];
?>
3. Получаю требуемый эл. адрес email_to_use и, как в первом варианте, указываю это значение в настройках E-Mail, на вкладке "Расширенный" (Advanced), в первой строке "Динам. адрес" (Dynamic To).
Тоже не работает.
Если флажок не ставить, работает строчка $recipient = 'em1';
Если поставить, то вышеуказанный код не работает. В отладке показывает:
[email_to_use] => пусто.
И ошибку выдает: "Mailer Error: You must provide at least one recipient email address."
Подскажите, где может быть ошибка?
Источник
Сама моя форма здесь, Debugger пока включён.
« Последнее редактирование: 14.12.2015, 16:09:24 от MrAlexSid »
*

MrAlexSid

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
С первым решением разобрался.
К коду getElementById('email').value='name@domain.com' нужно в начале дописать document.
Должно получиться так:
Код
document.getElementById('email').value='name@domain.com'
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Несколько форм на странице

Автор maddestiny

Ответов: 6
Просмотров: 7542
Последний ответ 05.02.2019, 13:03:48
от andreytver
ajax отправка

Автор herr

Ответов: 21
Просмотров: 4643
Последний ответ 22.11.2018, 18:37:38
от herr
ChronoForms - Этот адрес электронной почты защищён от спам-ботов

Автор tao2en

Ответов: 1
Просмотров: 1803
Последний ответ 02.05.2016, 11:46:25
от meatrich
Генерация номера заказа и отправка его на мыло

Автор TakT

Ответов: 4
Просмотров: 5131
Последний ответ 18.01.2016, 05:09:44
от Xzizz
Необходимо указать хотя бы одного получателя электронной почты

Автор dantist433

Ответов: 1
Просмотров: 1402
Последний ответ 17.04.2015, 15:00:45
от dantist433