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

Nessy74

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Прошу помощи:
Исправить подтягивание значений контактов клиента из базы SQL.

На стадии оформления заказа через "Корзина Товаров" есть этап "Адрес доставки", на котором выводится табличка контактов клиента, в нее должны выводиться данные которые клиент заполнял при регистрации аккаунта.  Но в эту табличку подтягиваются только заголовки, а сами значения не отображаются. Я подозреваю что моим бывшим программистом была изменена система регистрации и ввиду этого в эту табличку данные подтягиваются из другого места базы данных SQL, либо неправильно делается запрос к этим данным. Правильные контактные данные высылаются подтверждением на E-mail, а также отображаются при редактировании контактных данных аккаунта на сайте. Так вот надо поправить код чтобы на стадии оформления заказа через "Корзина Товаров" тоже выводилась корректно заполненная табличка контактов клиента.

Оформление заказа через "Корзину" как я понял сидит тут:
\administrator\components\com_virtuemart\classes\ps_checkout.php
в этом файле блок контактов клиента подтягивается из файла:
\components\com_virtuemart\themes\vmtheme155\templates\checkout\customer_info.tpl.php
я так понял что надо исправить содержимое именно этого файла.
изначальное содержимое файла "customer_info.tpl.php" вот оно:
Спойлер
[свернуть]

Подтверждение заказа на E-mail в котором контакты клиента отображаются корректно находится тут:
\components\com_virtuemart\themes\vmtheme155\templates\order_emails\confirmation_email.tpl.php
содержимое файла "confirmation_email.tpl.php" вот оно:
Спойлер
[свернуть]

я попытался вставить код контактов клиента из файла "confirmation_email.tpl.php" в файл "customer_info.tpl.php",
но так без дополнительной правки оно не работает, нарушается дизайн страницы и выдает ошибку:
Fatal error: Call to a member function f() on a non-object in /var/www/website/web-site.com/components/com_virtuemart/themes/vmtheme155/templates/checkout/customer_info.tpl.php on line 28

Так что прошу помощи у специалистов.

Скриншот контактов клиента при оформлении заказа через "Корзина Товаров" (контактов нет):
Спойлер
[свернуть]

Скриншот контактов клиента при отсылке на E-Mail заказа (контакты есть):
Спойлер
[свернуть]

P.S.
я еще глубже изучил проблему, оказалось все еще загадочней:
у меня 2 сайта на одном движке, так вот на одном, более новом - эта проблема есть, а на более старом, с которого переносился движок - этой  проблемы нет, данные контактов клиента в корзину подтягиваются нормально, что для старого клиента, что для только что созданного.
И файлы "ps_checkout.php" и "customer_info.tpl.php" - абсолютно одинаковые на обоих сайтах.
так что видимо не нужно править файл "customer_info.tpl.php", проблема в чем-то другом.
« Последнее редактирование: 30.12.2015, 23:53:00 от Nessy74 »
*

fsv

  • Moderator
  • 2787
  • 413 / 2
Цитировать
я попытался вставить код контактов клиента из файла "confirmation_email.tpl.php" в файл "customer_info.tpl.php"
Они по-разному формируются. Подобные переносы кода не делаются.

У вас на сайте при регистрации должна быть И страна, И регион. Иначе без правок есть подобные проблемы. Т.к. в запросе выборка юзера идет по ним -
\administrator\components\com_virtuemart\classes\ps_checkout.php  => function display_address()
Закомментируйте обе строки в запросе:
Спойлер
[свернуть]
Если при регистрации нет выбора страны, в базе у всех будет US. Если исправите на RUS (в базе в 3-х местах (если надо, поищу) + у всех юзеров), можно в запросе больше данных оставить. Но предполагаю, вам это не надо.
Веб-разработка: заказ. Только новая разработка.
*

Nessy74

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
У вас на сайте при регистрации должна быть И страна...
так вот где собака порылась...
я как раз отключил на днях выбор страны при регистрации аккаунта, и вот поэтому возникла эта проблема.
сейчас вернул выбор страны при регистрации аккаунта - и все заработало как надо.
так что править никакие файлы не надо, спасибо еще раз за оперативную и конструктивную помощь, уважаемый fsv.
данный воспрос можно считать закрытым / решенным.
сейчас создам новый топик для последнего оставшегося вопроса.
*

fsv

  • Moderator
  • 2787
  • 413 / 2
я как раз отключил на днях выбор страны при регистрации аккаунта
сейчас вернул выбор страны при регистрации аккаунта
Если за эти дни были регистрации, поменяйте им в базе страну, там сейчас US.
Веб-разработка: заказ. Только новая разработка.
*

Nessy74

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Если за эти дни были регистрации, поменяйте им в базе страну, там сейчас US.
понял, спасибо.
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Цитировать
так вот где собака порылась...
порылась и зарылась :)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Поиск по полям базы данных

Автор valensy

Ответов: 1
Просмотров: 1344
Последний ответ 08.09.2012, 21:39:45
от flyingspook
Требуется сформировать запрос на выборку из базы

Автор evsmusic

Ответов: 1
Просмотров: 1376
Последний ответ 26.03.2012, 19:15:39
от evsmusic
Создал фильтр товара, но фильтрация происходит только по одному введённому значению, как исправить?

Автор Artrum

Ответов: 1
Просмотров: 1515
Последний ответ 18.01.2012, 15:23:49
от Artrum
Как исправить функцию вывода изображения Image_tag

Автор Olga Kichina

Ответов: 0
Просмотров: 2004
Последний ответ 20.11.2011, 02:13:30
от Olga Kichina
как исправить опци товара по умолчанию?

Автор NapoleON_OFF

Ответов: 2
Просмотров: 1526
Последний ответ 21.09.2009, 19:40:38
от NapoleON_OFF