Новости 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 Ответов
  • 219358 Просмотров
*

varX

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

veklich

  • Новичок
  • 1
  • 0 / 0
Скажите пожалуйста, как сделать отправку файла больше чем 20мб? Почта gmail.com
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Скажите пожалуйста, как сделать отправку файла больше чем 20мб? Почта gmail.com

В QuickForm нет ограничений на размер файла.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Callipso

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
1. Можно сколько угодно форм делать.
2. Так же, как и первую.
Спасибо, разобралась, : )) надо присвоить новому модулю нужный ИД из списка. Действительно можно все самому понять.
*

farhod

  • Новичок
  • 9
  • 0 / 0
    
Установил QuickForm, но на сайте выдает вот такая ошибка
Fatal error: Maximum function nesting level of '100' reached, aborting! in W:\home\localhost\www\rubin.com\libraries\joomla\database\driver\mysqli.php on line 515

что делать, подскажите пожалуйста кто знает.
*

galogen999

  • Новичок
  • 4
  • 0 / 0
Подскажите пожалуйста новичку в php
Пытаюсь переслать значение некоторых полей которые были введены в форму через ссылку:
$jAp->redirect('/index.php/zakaz?var1=');
Однако в массиве $fields эти значение забиты как строки (на сколько я понимаю)
Как к ним обратиться что бы вытащить введенное пользователем значение?

И что бы два раза не вставать, как сделать что бы письмо отправлялось (дублировалось) на адрес введенный клиентом в форме?
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Подскажите пожалуйста новичку в php
Пытаюсь переслать значение некоторых полей которые были введены в форму через ссылку:
$jAp->redirect('/index.php/zakaz?var1=');
Однако в массиве $fields эти значение забиты как строки (на сколько я понимаю)
Как к ним обратиться что бы вытащить введенное пользователем значение?

И что бы два раза не вставать, как сделать что бы письмо отправлялось (дублировалось) на адрес введенный клиентом в форме?

1. Вы не понятно написали, не знаю, чего вы добиться хотите.
2. Там есть поле специальное "backemail".
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

galogen999

  • Новичок
  • 4
  • 0 / 0
1. Вы не понятно написали, не знаю, чего вы добиться хотите.
2. Там есть поле специальное "backemail".
Хочу переслать часть параметров введенных клиентом в форме на другую страницу.
Предполагаю сделать это через $jAp->redirect сформировав соответсвующую ссылку.

Но не знаю как вытащить введенные клиентом данные...

PS: за ответ про "backemail" - спасибо.
« Последнее редактирование: 09.10.2015, 09:25:49 от galogen999 »
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Хочу переслать часть параметров введенных клиентом в форме на другую страницу.
Предполагаю сделать это через $jAp->redirect сформировав соответсвующую ссылку.

Но не знаю как вытащить введенные клиентом данные...

PS: за ответ про "backemail" - спасибо.

Данные передаются обычным массивом, каждый тип поля имеет своё имя, и так же передаётся массивом. Чтобы увидеть все данные, просто распечатайте $_POST. Однако, вытащить нужные данные из этого массива не просто, т.к. QuickForm это динамическая форма. Один и тот же экземпляр после заполнения пользователем может иметь разное количество и структуру полей, одни поля "выезжают" в зависимых списках, другие клонируются целыми группами. Поэтому состав массива $_POST может быть различным каждый раз.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

galogen999

  • Новичок
  • 4
  • 0 / 0
Данные передаются обычным массивом, каждый тип поля имеет своё имя, и так же передаётся массивом. Чтобы увидеть все данные, просто распечатайте $_POST. Однако, вытащить нужные данные из этого массива не просто, т.к. QuickForm это динамическая форма. Один и тот же экземпляр после заполнения пользователем может иметь разное количество и структуру полей, одни поля "выезжают" в зависимых списках, другие клонируются целыми группами. Поэтому состав массива $_POST может быть различным каждый раз.

Смотрите, я заполняю форму. Жму "отправить". В коде у меня стоит $jAp->redirect('/index.php/oplata');
На странице оплаты пытаюсь посмотреть $_POST мне пишет что массив пуст.

PS: Вообщем сделал что хотел вытащив из $fields['st_form'] строковыми функциями то что мне нужно. Вопрос закрыт.
« Последнее редактирование: 09.10.2015, 12:08:33 от galogen999 »
*

galogen999

  • Новичок
  • 4
  • 0 / 0
Подскажите еще пожалуйста, где хранятся данные о сделанной форме? Мне нужно добавить большое кол - во значений в выпадающий список, и делать это руками не камильфо. Думаю на прямую вставить.

Мда, а вставить 500 значений не получается. Только 1 показывает...
« Последнее редактирование: 10.10.2015, 11:48:18 от galogen999 »
*

Olg

  • Завсегдатай
  • 1183
  • 91 / 2
Некоторое время назад вопрос о вставке списка для поля "селект" уже задавался. Автор ответил, что, к сожалению, только по одному.
*

Евгений987

  • Новичок
  • 1
  • 0 / 0
QuickForm зависает при попытке отредактировать форму, даже кнопка "Закрыть" перестает работать, приходится закрывать страницу целиком. Не подскажете, в чем может быть проблема?
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Подскажите еще пожалуйста, где хранятся данные о сделанной форме? Мне нужно добавить большое кол - во значений в выпадающий список, и делать это руками не камильфо. Думаю на прямую вставить.

Мда, а вставить 500 значений не получается. Только 1 показывает...
Не знаю, что вы сделать пытаетесь, в любом случае, если нужно динамическое формирование значений поля, то лучше всего создать свой новый тип поля в компоненте.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

varX

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

Puzo

  • Захожу иногда
  • 75
  • 2 / 0
Здравствуйте!
Подскажите пожалуйста, как исправить...
на сайте - decor55.maksim.sibnethost.ru/kontakty
форма для ввода сообщения почему то съезжает влево...
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Здравствуйте!
Подскажите пожалуйста, как исправить...
на сайте - decor55.maksim.sibnethost.ru/kontakty
форма для ввода сообщения почему то съезжает влево...

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

Puzo

  • Захожу иногда
  • 75
  • 2 / 0
Правильным будет если я в строке template.css (строка 1144) удалю display:block ?
*

Olg

  • Завсегдатай
  • 1183
  • 91 / 2
style2.css, строка 33. Добавить
Код
.qfblock textarea {
    display: inline-block;...}
*

Art_i

  • Захожу иногда
  • 143
  • 5 / 0
Здравствуйте.
Воспользовался данным компонентом.
Созал поля, кнопку отправки. При нажатии на кнопку, с пустыми полями (с заполнеными так же), перезагружается страница и выдает ошибку

Код
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Заявка на просчет'','','0','77.122.173.201','','0','0')' at line 1 SQL=INSERT INTO `f0nfe_quickform_ps` (st_formid,st_date,st_form,st_title,st_cur,st_price,st_ip,params,st_user,st_status) VALUES ('1','2015-10-15 06:24:45','<br />Заявка на просчет<br /><br /><table width="600" cellspacing="0" border="1"><tr><td style="padding: 0 10px;">Имя</td><td style="padding: 0 10px;"></td></tr><tr><td style="padding: 0 10px;">Телефон</td><td style="padding: 0 10px;"></td></tr><tr><td style="padding: 0 10px;">Город</td><td style="padding: 0 10px;"></td></tr><tr><td style="padding: 0 10px;">Email</td><td style="padding: 0 10px;"></td></tr><tr><td style="padding: 0 10px;">Листы / Уплотнители</td><td style="padding: 0 10px;">Выберите</td></tr><tr><td style="padding: 0 10px;">Клеевый слой</td><td style="padding: 0 10px;">Выберите</td></tr></table>',''Заявка на просчет'','','0','77.122.173.201','','0','0')

При этом сообщение с пустыми полями или заполненными на почту приходит.
Помогите, пожалуйста решить.
Спасибо.


Ничего себе... Я решил проблему сам )
В общем как я понял из ошибки, то в этом месте - ''Заявка на просчет'', идет по 2 одинарных ковычки.
В коде по адресу /components/com_quickform/quickform.php строка 133 есть массив с таким полем
'st_title' => $db->quote($row->title)
Я решил попробовать вырезать лишние кавычки и сделал так
'st_title' => str_replace("'", "", $db->quote($row->title))
И ура. Работает!)

Сообщение успешно отправляется. Проверка на пустые поля работает.

Спасибо за внимание.
« Последнее редактирование: 15.10.2015, 11:17:31 от Art_i »
*

sterveo

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

N_73

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Все привет! Установил модуль и столкнулся с следующей проблемой:
Создаю поля, а на сайте в место названия полей и их содержимого отображаются только какие-то сокращения.
Например, создаю поле select, вписываю название, вписываю варианты выбора. На сайте отображается следующая информация: sel и вместо вариантов выбора sop.
Изображение прилагаю:
Пожалуйста подскажите в чем может быть причина.
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Все привет! Установил модуль и столкнулся с следующей проблемой:
Создаю поля, а на сайте в место названия полей и их содержимого отображаются только какие-то сокращения.
Например, создаю поле select, вписываю название, вписываю варианты выбора. На сайте отображается следующая информация: sel и вместо вариантов выбора sop.
Изображение прилагаю:
Пожалуйста подскажите в чем может быть причина.


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

N_73

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Каким браузером вы форму создавали?

windows edge

Дополнение:

Все разрешилось. Создал форму в гугл хром и все работает.
Спасибо!
« Последнее редактирование: 25.10.2015, 00:08:46 от N_73 »
*

Nodir777

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Спасибо за форму! А не подскажете, как в письмо можно вставить заголовок материала, с которого отправляется форма?
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Спасибо за форму! А не подскажете, как в письмо можно вставить заголовок материала, с которого отправляется форма?

Как обычно. Узнать id материала из URL страницы. Запросить в базе заголовок по этому id. Вывести заголовок в шаблон письма.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

alesam

  • Новичок
  • 9
  • 0 / 0
Здравствуйте, воспользовался формой, появился вопрос никак не дойду сам. Может кто подскажет. Нужно следующее
x*a=xa
y*b=xb
z*c=zc
Далее после нажатия на чекбокс общая сумма меняется следующим образом
x*(a+a1)=
y*(b+b1)=
z*(c+c1)=

Заранее спасибо.
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Здравствуйте, воспользовался формой, появился вопрос никак не дойду сам. Может кто подскажет. Нужно следующее
x*a=xa
y*b=xb
z*c=zc
Далее после нажатия на чекбокс общая сумма меняется следующим образом
x*(a+a1)=
y*(b+b1)=
z*(c+c1)=

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

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

alex-pr

  • Новичок
  • 5
  • 0 / 0
Очень не хватает ограничения на размер файла, планируете добавить эту функцию в этот компонент?
*

varX

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

olegm1974

  • Новичок
  • 4
  • 0 / 0
Здравствуйте!
Пытаемся создать у себя на сайте анкету на базе компонента QuickForm: http://www.tdgb-mos.ru/anketa-new.html
Очень удобный компонент, очень нравится, но есть одна большая проблема - не запоминает состояние элементов checkbox. Возможно это связанно с тем, что на нашей анкете эти элементы располагаются на связанных формах. Пример - форма с чекбоксами раскрывается если в анкете на вопрос "Вы благодарили персонал медицинской организации за оказанные Вам медицинские услуги?" ответить да.
Есть ли возможность исправить эту ошибку?

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор Progreccor

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

Автор varX

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

Автор varX

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

Автор orsy

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

Автор ForQue

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