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

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Пользовательские поля я выставляю но когда перехожу на сайт то корзина не работает если убираю выбор валюты то есть отставляю один то все работает а вот поля не меняются
поля заполняемые мне нужны чистые то есть я хочу сделать не интернет магазин а календарь заказов и вот по этому мне требуется чтоб поля были всегда пустыми и я сам каждый раз их заполнял чтоб они в дальнейшем сохранялись в админки  и можно было вести календарь

если кто делал что то подобное посоветуйте как мне лучше поступить с полями
зарастание спасибо
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
в поле покупателя в админке я выставляю 
Цитировать
Показать при выборе доставки


но вот  на сайте
Цитировать
Пожалуйста, выбирите способ доставки

поле не появляется
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
Поля эти для редактирования адреса доставки.

Вы пытаетесь поля добавить в плагины доставки. Без программирования это вряд ли. Кажется есть календари платные для вашей задачи.
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
вопрос
где и что надо программировать
и
что есть платное
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
Вопросу как программировать плагины для VM посвещен отдельный раздел официального форума VM. Есть также Dev Portal, Documents, Turotials и Wiki - все конечно на англоязычном VirtueMart.net

Product Delivery date for VirtueMart 2 plugin
VirtueMart Rental Plugin
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Так в адми меню есть пункт для добавления разве он не должен добавлять
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²

судя по срину то человек не понял что означает
показывать при выборе доставки
это когда регистрирующийся вводит данные а потом правее  в корзине изменить адрес доставки.....
Короче так ...
Вася живет в Москве и делает заказ это в VMarte называется => BT
Но Вася хочет заказ получить в Крыму называется это => ST (Именно адрес доставки)//
Как правило этим не кто не пользуется // так вот Вы именно и создаете то поле которое покажется Вам если Вы решите изменить адрес доставки..
Всего...

разве он не должен добавлять
Вы пользуетесь виртуал мартом - это приложение ...
а при выборе доставки это плагины
Чувствуете разницу...

поля свои можно добавить либо в форму регистрации либо в ST адрес т.е. если в Крым поедет// другого не может быть..
Поэтому Максим прав на 100% что то что Вы хотите решаемо но при помощи php и мало того вам придется в табличке ща так не вспомню но в предыдущей версии она называлась orderItems добавить колонки для ваших полей..
Удачи Обращайтесь буду рад помочь!))


*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
gartes
вот вы говорите можно модулями осуществить
вопрос какими модулями
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
gartes
вот вы говорите можно модулями осуществить
вопрос какими модулями

Два раза перечитал свое сообщение где я там про модули писал так и не понял..
Ладно не к  тому..
какие именно поля нужны пиши реализуем
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
поля я хотел такие
1 Ф.И.О
2 Номер телефона
3 Мобильный
4 Сроки исполнения
5 Номер заказа
6 Дата
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
На какой странице?
Страница регистрации или выбора доставки?
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Выбора способа доставки
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Выбора способа доставки
а регистрация должна копироваться?
К примеру фио номер телефона из формы или на оборот мы этими данными и будем заполнять форму регистрации?

а еще вопрос по енергоемике
зачам вам поле

2 Номер телефона
И
3 Мобильный

21 век и так понятно что 95% укажут мобилу

5 Номер заказа  => зачем Вам номер заказа в оформлении заказа вы что хотите это ручками прописывать?
Это работа MySQL тем более что оно сделает это точнее//

не принимайте это как ругань в Вашу сторону Я просто хочу точно знать задачу)


*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
2 Номер телефона (Это номер организации заказчика)
3 Мобильный (Это личный номер заказчика)
номер заказа в принципе можно и не ставить только дату
регистрация вообще не нужна сайт будет закрыт и доступ будет только у наших менеджеров а их данные как я понял будут вводится автоматически
 
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Это для всех!

То что Вы хотите что бы при выборе доставки была возможность редактировать поля то вам нужен особый плагин доставки.
Плагин может быть один а вот способов доставки которые на него повешены масса.

Реализация простая..))
1 создаем или прямо в стандартном плагине создаем javascript обработчик событий
(Выбрали способ доставки №1)
Показываем форму заполняем жмем сохранить..
В плагине перехватываем событие и загружаем это в $_SESSION

При событие plgVmConfirmedOrder это когда нажали подтвердить заказ =  выгружаем в таблицу плагина.
После этого эту информацию можно забрать с админ панели или со страницы клиент => список заказов => подробности заказа => в таблице информация о доставке))
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Stasweb ну ладно давай тебе сделаем что ты хочешь)))
24 часа на исполнение с учетом сна..
С тебя плюсы и 1usd в моем кошельке ))
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
А вот вопрос у тебя VM переопределено HTML cart
в шаблоне есть такое??
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Если я правильно понял то components/com_virtuemart/cart/
такой путь есть
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Если я правильно понял то components/com_virtuemart/cart/
такой путь есть
Нет в твоем шаблоне есть такое...  Папка html/com_virtuemar/....
Если нет парится не о чем ... при условии что ты ручками в компоненте не лазал....))
В личке я тебе написал будут коррективы ?
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Папка html/com_virtuemar/
*

Lann

  • Захожу иногда
  • 133
  • 5 / 1
2gartes, отзовитесь пож в ЛС - меня интересует аналогичная задача.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Мультиязычность, связь товаров, доп.поля

Автор sanek2281

Ответов: 1
Просмотров: 3108
Последний ответ 24.01.2022, 18:00:46
от Максим Пишняк
Нет поля для введения купона VirtueMart 3

Автор Olga89

Ответов: 32
Просмотров: 1804
Последний ответ 18.01.2021, 19:28:11
от Olga89
[РЕШЕНО] Не работает выбор категории?

Автор warlocksp

Ответов: 3
Просмотров: 1183
Последний ответ 05.02.2020, 13:43:48
от warlocksp
Как отменить обязательность заполнения текстового поля при отправке формы?

Автор abrodski

Ответов: 4
Просмотров: 935
Последний ответ 23.01.2020, 05:55:32
от abrodski
НЕ работает корзина ХЕЛП

Автор NixON

Ответов: 4
Просмотров: 1521
Последний ответ 18.10.2019, 17:29:33
от draff