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

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
« Последнее редактирование: 10.06.2019, 13:06:27 от varX »
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Ничего не появилось. Чистая J3.6.2
Не может такого быть. Смотрите внимательнее.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

x1

  • Давно я тут
  • 637
  • 15 / 0
  • Linux — это Windows для бытовой техники
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Вот скриншоты: http://rgho.st/75NWyYmtD
Я не могу скачать скриншоты по ссылке, срабатывает антивирус. Вы проект создали? Он создался? Ссылка "поля" появилась?
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

x1

  • Давно я тут
  • 637
  • 15 / 0
  • Linux — это Windows для бытовой техники
Я не могу скачать скриншоты по ссылке, срабатывает антивирус. Вы проект создали? Он создался? Ссылка "поля" появилась?
Нет там никаких полей, не первый год замужем, я бы не писал вам об этом. На какой файлообменник закачать скриншоты или скинуть на какое мыло?
Скинул вам на емейл
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Нет там никаких полей, не первый год замужем, я бы не писал вам об этом. На какой файлообменник закачать скриншоты или скинуть на какое мыло?
Скинул вам на емейл
На первом же скриншоте явно рассматривается ссылка "поля". Там всего две ссылки на проекте. Одна "заголовок" ведет на редактирование проекта. Вторая, "поля", соответственно, на поля формы.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

x1

  • Давно я тут
  • 637
  • 15 / 0
  • Linux — это Windows для бытовой техники
Да, не заметил, действительно компонент полностью переработан. Сейчас буду смотреть дальше
*

AndreN

  • Захожу иногда
  • 55
  • 1 / 0
Коллеги, подскажите, как в таблице с расчетами калькулятора, которая приходит на почту, не показывать коэффициенты, заложенные для расчета? Заранее спасибо!
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Коллеги, подскажите, как в таблице с расчетами калькулятора, которая приходит на почту, не показывать коэффициенты, заложенные для расчета? Заранее спасибо!
Используйте новую версию. Ссылка на архив в шапке.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

hitower

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Здравствуйте!
Спасибо за прекрасный модуль!

Нужен ваш совет.
Как можно реализовать вот такой вариант зависимости (красным цветом): http://prntscr.com/c76yto
Проблема в том, что в формировании цены за 2 модуля в зависимости от зоны нет математической логики что бы описать ее одной формулой.
А цена за 1 модуль не зависит от зоны и дает фиксированную прибавку во всех зонах.

Можно было бы у юзера спросить про его зону еще раз при выборе кол-ва модулей, но это не солидно...

Заранее спасибо!
« Последнее редактирование: 18.08.2016, 11:20:23 от hitower »
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Здравствуйте!
Спасибо за прекрасный модуль!

Нужен ваш совет.
Как можно реализовать вот такой вариант зависимости (красным цветом): http://prntscr.com/c76yto
Проблема в том, что в формировании цены за 2 модуля в зависимости от зоны нет математической логики что бы описать ее одной формулой.
А цена за 1 модуль не зависит от зоны и дает фиксированную прибавку во всех зонах.

Можно было бы у юзера спросить про его зону еще раз при выборе кол-ва модулей, но это не солидно...

Заранее спасибо!

Во-первых, я рекомендую перейти на новую версию компонента. Она лучше продумана и предоставляет намного больше возможностей. Во-вторых, любая логика может быть реализована через зависимые поля. Это дает возможность делать сколько угодно условий и развивать какую угодно логику.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

hitower

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Во-первых, я рекомендую перейти на новую версию компонента. Она лучше продумана и предоставляет намного больше возможностей. Во-вторых, любая логика может быть реализована через зависимые поля. Это дает возможность делать сколько угодно условий и развивать какую угодно логику.
для новой версии QF надо обновлять Joomla с 2.5, а это по ряду причин нереально.

Старая QF 3.4.9 поддерживает зависимые поля?
Собственные попытки ни к чему не привели, примера реализации не нашел (
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
для новой версии QF надо обновлять Joomla с 2.5, а это по ряду причин нереально.

Старая QF 3.4.9 поддерживает зависимые поля?
Собственные попытки ни к чему не привели, примера реализации не нашел (
QuickForm был создан для работы с зависимыми полями. Нет на свете ничего проще, чем сделать зависимые поля в QuickForm.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

rhjirftyjn

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
подскажите, пожалуйста, как в из письма убрать столбец с промежуточными суммами, нужна только стоимость итого
версия первая квикформа, не могу я удалить и заново сделать 30 форм. сил не хватит((
может можно как то малой кровью обойтись?
спасибо

https://cloud.mail.ru/public/8Qp2/3xr4gcZoi  -образец
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Этот столбец зашит в шаблон, его не просто удалить, т.к. из-за colspan порвет таблицу. Смотрите файл /components/com_quickform/helpers/class.php в самом низу формируется строка таблицы. Проще всего будет удалить значение из столбца .
Было $c=($c)?'<td style="padding:0 10px; width:5%;">'.$add.'</td>':'';
Нужно $c=($c)?'<td style="padding:0 10px; width:5%;"></td>':'';
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

rhjirftyjn

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
 :D
Спасибо!
Спасен!
*

angst

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Вопрос по recaptcha 2, когда она подключена в форму. Когда не ставишь чекбокс "я не робот", появляется оповещение "ошибка RECAPTCHA_ERROR". Видно, что не подключается локализация. А хотелось бы локализовать на русский. Вне формы ошибка reCAPTCHA имеет другой вид и локализована.
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Вопрос по recaptcha 2, когда она подключена в форму. Когда не ставишь чекбокс "я не робот", появляется оповещение "ошибка RECAPTCHA_ERROR". Видно, что не подключается локализация. А хотелось бы локализовать на русский. Вне формы ошибка reCAPTCHA имеет другой вид и локализована.
Добавил перевод ошибки.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

vitzer

  • Захожу иногда
  • 303
  • 5 / 0
Прошу подсказать.
В погоне за скоростью сайта вносил изменения в .htaccess, а затем перешел на php7. Недавно заметил, что не отправляются данные с формы (пример здесь http://vvm-auto.ru/shop/1040-004-nabor-dlya-snyatiya-obshivki).
На Денвере все работает, а на сервере нет. Откатил .htaccess, ничего не изменилось. Вероятно проблема в php7. Может какие-то настройки изменить?

Итог. Нашел причину. Сама форма не причем.
Все дело в Лицензионном Касперском.
В логах ошибок: антивирус заблокировал загрузку счетчика Яндекс 1130-vgate-icar2-wi-fi-elm327:227 GET https://mc.yandex.ru/metrika/watch.js.
В quickform.js в блок кнопки function qfsubmit(x) добавлена строка "yaCounter32658045.reachGoal( 'TARGET');", обеспечивающая подсчет нажатий кнопки отправки. Заблокированный скрипт блокирует последовательность функций, и отправка не осуществляется. Выход один - ампутация: удалил строку yaCounter32658045.reachGoal( 'TARGET');.
Все заработало. Т.е. это проблема моего компа и других пользователей с установленным Касперским.
"Доложил" Яндекс (Яндексу) пусть решают с Касперским. По крайней мере, диалог активный, и Яндекс подробно выясняет все обстоятельства данной проблемы.

И еще. Не используйте встроенный кэш Joomla - появляются баги (форма не отправляется). Очистка кэша помогает ненадолго.
« Последнее редактирование: 24.09.2016, 10:50:55 от vitzer »
*

dimsoff

  • Новичок
  • 2
  • 0 / 0
Добрый день !
Подскажите пожалуйста, очень нужно заменить тему письма на какой-то select
нужно буквально 3-6 пунктов  выбора темы
Можно это как-то подправить ?
Пойдет даже предопределённые значения в коде а не в форме
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Добрый день !
Подскажите пожалуйста, очень нужно заменить тему письма на какой-то select
нужно буквально 3-6 пунктов  выбора темы
Можно это как-то подправить ?
Пойдет даже предопределённые значения в коде а не в форме
Это по разному можно сделать, но в любом случае, одной строкой кода вы не ограничитесь. Нужно смотреть, как ваша форма устроена, править код в нескольких файлах. P.S. В новой версии это проще сделать.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

dimsoff

  • Новичок
  • 2
  • 0 / 0
Вы говорите о QF2 но в  ней тема только в проекте устанавливается а проект выводится отдельно только один и выбор какой проект подставить я вообще не представляю как сделать .
Может другую посоветуете форму обратной связи, функционал Выбор темы, несколько полей текстовых и прикрепление файлов. 
*

rhjirftyjn

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Добрый день.
хочу добавить на форму кнопку приема платежа от Яндекс.Денег.
 
вот код кнопки
<iframe frameborder="0" allowtransparency="true" scrolling="no" src="https://money.yandex.ru/quickpay/shop-widget?account=410011300000&quickpay=shop&writer=seller&targets=%D1%8C%D1%82%D1%8C%D1%82&targets-hint=&default-sum=500&button-text=01&successURL=" width="450" height="161"></iframe>

в ней присутствует переменная default-sum=500, сумма платежа по умолчанию.
Вопрос, как подставить сумму, которая образуется в результате работы Квикформ?
правильно понимаю надо написать:
default-sum=<?php $res ?>

И второй вопрос:
Как все-таки сделать, чтобы поле calctext по умолчанию был единицей?
Сколько бы стоила такая переделка?.
спасибо
« Последнее редактирование: 15.09.2016, 15:42:20 от rhjirftyjn »
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Добрый день.
хочу добавить на форму кнопку приема платежа от Яндекс.Денег.
 
вот код кнопки
<iframe frameborder="0" allowtransparency="true" scrolling="no" src="https://money.yandex.ru/quickpay/shop-widget?account=410011300000&quickpay=shop&writer=seller&targets=%D1%8C%D1%82%D1%8C%D1%82&targets-hint=&default-sum=500&button-text=01&successURL=" width="450" height="161"></iframe>

в ней присутствует переменная default-sum=500, сумма платежа по умолчанию.
Вопрос, как подставить сумму, которая образуется в результате работы Квикформ?
правильно понимаю надо написать:
default-sum=<?php $res ?>

И второй вопрос:
Как все-таки сделать, чтобы поле calctext по умолчанию был единицей?
Сколько бы стоила такая переделка?.
спасибо
Это не так просто сделать. Во первых, я рекомендую QF2 для этой задачи, т.к. там делается сверка суммы, расчитанной в браузере с суммой, рассчитанной уже на сервере по отправленной форме. Во вторых, если вы оперируете понятием "код кнопки", тогда все же лучше обратиться за помощью к программисту. Никаких кнопок тут и быть не должно - это делается через АПИ мерчант.

По calctext. В QF2 можно любое стартовое значение задавать полю, а в этой версии без правки кода нельзя.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

hitower

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Доброе утро!

Можно ли в версии 3.4.11 каким-то образом выводить другие вычисляемые суммы помимо Цены?
Например, хотелось бы показать юзеру, кроме суммы к оплате, еще и фактическую сумму (в руб, а не в %%) скидки.
Или сумму к оплате за разные периоды (3/6/9 месяцев)

Иными словами необходимо поле которое вычисляется по формуле, используя значения других полей в этой форме. И при этом не влияющее на Основную вычисляемую Цену.
*

KomRom

  • Новичок
  • 3
  • 0 / 0
Появилась ошибка
Uncaught TypeError: Cannot read property 'getElements' of null

ругается на вторую строчку

function qfRestorForm(f) {
   if(f.getElements('.qfradio').length){
      var dr=f.getElements('.qfradio input[type="radio"]'), num=0;
      var oldtmp=dr[0].name;
      dr.each(function(el){
         var tmp=el.name;
         if(tmp!=oldtmp){num++;oldtmp=tmp;}
         el.name='r'+num;
      });
   }

калькулятор работает, но как то странно. изначально показывает результат расчета 0 (пока не выберешь что то в строках, влияющих на расчет) хотя раньше показывал правильное число

Как это можно поправить ?
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Доброе утро!

Можно ли в версии 3.4.11 каким-то образом выводить другие вычисляемые суммы помимо Цены?
Например, хотелось бы показать юзеру, кроме суммы к оплате, еще и фактическую сумму (в руб, а не в %%) скидки.
Или сумму к оплате за разные периоды (3/6/9 месяцев)

Иными словами необходимо поле которое вычисляется по формуле, используя значения других полей в этой форме. И при этом не влияющее на Основную вычисляемую Цену.

Такая возможность доступна только в QF2.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Появилась ошибка
Uncaught TypeError: Cannot read property 'getElements' of null

ругается на вторую строчку

function qfRestorForm(f) {
   if(f.getElements('.qfradio').length){
      var dr=f.getElements('.qfradio input[type="radio"]'), num=0;
      var oldtmp=dr[0].name;
      dr.each(function(el){
         var tmp=el.name;
         if(tmp!=oldtmp){num++;oldtmp=tmp;}
         el.name='r'+num;
      });
   }

калькулятор работает, но как то странно. изначально показывает результат расчета 0 (пока не выберешь что то в строках, влияющих на расчет) хотя раньше показывал правильное число

Как это можно поправить ?
Обновите компонент до последней версии - 3.4.11.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

KomRom

  • Новичок
  • 3
  • 0 / 0
*

rhjirftyjn

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Добрый день.
Заказчики иногда сообщают, что после нажатия на кнопку Отправить, им вместо "Письмо отправлено", показывается сообщение типа: Неверный токен. Или Токен устарел.
Письма не приходят.
Пытаюсь сымитировать ситуацию: (долго заполняю форму, нажимаю Отправить с незаполненными обязательными полями) у меня письма все время успешно отправляются, поэтому не подскажите, в каком направлении поискать, чтобы исправить эту ошибку
спасибо.
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Добрый день.
Заказчики иногда сообщают, что после нажатия на кнопку Отправить, им вместо "Письмо отправлено", показывается сообщение типа: Неверный токен. Или Токен устарел.
Письма не приходят.
Пытаюсь сымитировать ситуацию: (долго заполняю форму, нажимаю Отправить с незаполненными обязательными полями) у меня письма все время успешно отправляются, поэтому не подскажите, в каком направлении поискать, чтобы исправить эту ошибку
спасибо.

Скорее всего, у вас не работает js на странице.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Radical Form - бесплатная ajax форма обратной связи, которая не ломает дизайн

Автор Progreccor

Ответов: 311
Просмотров: 58092
Последний ответ 22.01.2026, 02:23:57
от quip
QuickForm 3 - конструктор простых и сложных форм

Автор varX

Ответов: 1107
Просмотров: 106531
Последний ответ 21.10.2025, 03:19:37
от varX
QuickForm 2 - конструктор форм с зависимыми полями и калькулятором

Автор varX

Ответов: 1351
Просмотров: 128693
Последний ответ 03.10.2022, 22:34:40
от dodsik
AJAX Web-Factor Form - простая форма обратной связи для Joomla 3+

Автор orsy

Ответов: 75
Просмотров: 23272
Последний ответ 17.07.2021, 10:01:40
от Biss
Форма обратной связи для Joomla 2.5

Автор ForQue

Ответов: 0
Просмотров: 4392
Последний ответ 10.01.2021, 10:57:08
от ForQue