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

serdr

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Хотел добавить в account.index.tpl.php "Учетная запись покупателя" отчество, компанию и еще кое что.
Строка 24 (добавил - " " . $auth["middle_name"] .)<?php echo $auth["first_name"] . " " . $auth["last_name"] . " " . $auth["middle_name"] . "<br />";?>
Даже если я просто меняю first_name на middle_name - у меня отчество почему то не выводится.
Мне казалось все так просто. Подскажите что неправильно?
*

fsv

  • Moderator
  • 2787
  • 413 / 2
Поля пользователя в админке настраиваются.
Веб-разработка: заказ. Только новая разработка.
*

serdr

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Поля пользователя в админке настраиваются.
Это понятно . Но если я хочу прибавить (чтобы выводилось)  на главную страницу учетной записи (шаблон account.index.tpl.php) дополнительные…  отчество, название предприятия, инн и т.д. Здесь надо править именно шаблон account.index.tpl.php. Я просто добавил $auth["middle_name"] где middle_name – отчество. А отчество не появляется. Где то еще надо править…
*

fsv

  • Moderator
  • 2787
  • 413 / 2
Я просто добавил $auth["middle_name"] где middle_name – отчество. А отчество не появляется. Где то еще надо править…

В массиве $auth нет отчества. Включите в настройках VM отладку и увидете, что там есть.

Вариант 1. Изменения в шаблоне, но +запрос.
В шаблоне напишите запрос на выбор нужных полей из #__{vm}_user_info , и будут вам переменные для вывода.

Вариант2. Без доп.запроса, но с хаком ядра. Расширяем массив $auth .
\administrator\components\com_virtuemart\classes\ps_perm.php
стр.101-110 (примерно)
В существующий запрос, выбирающий только 5 полей, добавьте нужные вам поля и ниже добавьте переменные в массив $auth по образцу -  $auth["zip"] = $db->f("zip");
НЕ ПРОВЕРЯЛ.

Образец запроса для варианта 1 см. в варианте 2.
Веб-разработка: заказ. Только новая разработка.
*

serdr

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
В массиве $auth нет отчества. Включите в настройках VM отладку и увидете, что там есть.
Включил.
$auth: Array ( [show_prices] => 1 [user_id] => 82 [username] => 123456 [perms] => shopper [middle_name] => [first_name] => Имя [last_name] => Фамилия [country] => RUS [zip] => 111111 [shopper_group_id] => 5 [shopper_group_discount] => 0.00 [show_price_including_tax] => 1 [default_shopper_group] => 1 [is_registered_customer] => 1 )  

« Последнее редактирование: 26.09.2012, 11:15:30 от serdr »
*

serdr

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
1  вариант не работает.
При добавления масива $auth["middle_name"] в файл
\administrator\components\com_virtuemart\classes\ps_perm.php
В отладке появляется middle_name, но отчество не прописывается
« Последнее редактирование: 26.09.2012, 11:14:00 от serdr »
*

serdr

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
fsv
Спасибо, все правильно, разобрался. Я просто сам виноват (не внимательно смотрел)
+ за умную голову
*

dievall

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
А как вывести сюда же название группы, к кокой группе принадлежит пользователь?
*

fsv

  • Moderator
  • 2787
  • 413 / 2
А как вывести сюда же название группы, к кокой группе принадлежит пользователь?

\administrator\components\com_virtuemart\classes\ps_shopper_group.php
function get_shoppergroup_by_id
В запрос в стр.331 после  #__{vm}_shopper_group.shopper_group_id,  добавьте
Код
shopper_group_name,
после стр.346
$group["default_shopper_group"] = $db->f("default");
вставьте
Код
$group["shopper_group_name"] = $db->f("shopper_group_name");
В стр.349 второй аналогичный запрос. Повторите действия.


\administrator\components\com_virtuemart\classes\ps_perm.php
после стр.122  $auth["shopper_group_id"] = $shopper_group["shopper_group_id"];
вставьте
Код
$auth["shopper_group_name"] = $shopper_group["shopper_group_name"];
После таких же стр.140 и 155 - также добавьте.

Выводить на сайте - $auth["shopper_group_name"] .
Не проверял.
Веб-разработка: заказ. Только новая разработка.
*

dievall

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
Спасибо все работает :D
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавление теме VirtueMart функции вставки статьи Joomla!

Автор fsv

Ответов: 34
Просмотров: 20028
Последний ответ 07.01.2014, 02:52:35
от fsv
Добавление картинки категории на странице вывода результатов поиска

Автор gr1ff

Ответов: 6
Просмотров: 1912
Последний ответ 16.02.2012, 15:41:05
от beagler
Не могу разобраться с index.php

Автор shpok

Ответов: 2
Просмотров: 1464
Последний ответ 07.01.2012, 14:49:36
от shpok
Вставка стороннего кода на морду сайта через index.html

Автор bibalaev

Ответов: 5
Просмотров: 2118
Последний ответ 03.12.2010, 16:29:15
от bibalaev
При добавление товара перестало загружаться изображение

Автор paxael

Ответов: 4
Просмотров: 1625
Последний ответ 30.11.2010, 10:49:37
от paxael