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

zilonitiz

  • Захожу иногда
  • 427
  • 14 / 1
Как вывести описание категорий на странице списка категорий? Посмотрел в categoryChildlist.tpl.php в нем ничего нет о описании... Подскажете пожалуйста...
« Последнее редактирование: 18.08.2011, 12:26:06 от zilonitiz »
Автоматизация действий в интернете, рутина. Парсеры, постеры, регеры и т.д. Телеграм: @evildance.
*

AlterEgo

  • Захожу иногда
  • 170
  • 71 / 5
categoryChildlist.tpl.php - 33 строка примерно.
$category["category_description"] - отвечает за вывод описания категории.
*

zilonitiz

  • Захожу иногда
  • 427
  • 14 / 1
По указаной Вами строке у  меня находиться  echo $category['number_of_products'];

Вставил строкой ниже Ваш код нет изминений.
Автоматизация действий в интернете, рутина. Парсеры, постеры, регеры и т.д. Телеграм: @evildance.
*

AlterEgo

  • Захожу иногда
  • 170
  • 71 / 5
Файл с кодом прикрепите. Сколько шаблонов для virtuemart'a установлено (в папке themes)? Если больше одного, проверьте, вносите ли вы изменения в шаблон, назначенный по умолчанию в настройках магазина на вкладке "сайт".


*

zilonitiz

  • Захожу иногда
  • 427
  • 14 / 1
Файл в аттаче. Работаю с файлами активной темы.



[вложение удалено Администратором]
Автоматизация действий в интернете, рутина. Парсеры, постеры, регеры и т.д. Телеграм: @evildance.
*

AlterEgo

  • Захожу иногда
  • 170
  • 71 / 5
Этим попробуйте заменить.

[вложение удалено Администратором]
*

zilonitiz

  • Захожу иногда
  • 427
  • 14 / 1
Нет результата. Выводит только кртинку категрии и название. Забыл указать, использую версию 1.1.9.
Автоматизация действий в интернете, рутина. Парсеры, постеры, регеры и т.д. Телеграм: @evildance.
*

AlterEgo

  • Захожу иногда
  • 170
  • 71 / 5
Забыл совсем, надо ещё внести изменения в файл ps_product_category.php. Он лежит здесь: .../administrator/components/com_virtuemart/classes/
Код функции "get_child_list" в стр. 914-943:
Код
	/**
* creates a bulleted of the childen of this category if they exist
* @author pablo
* @param int $category_id
* @return string The HTML code
*/
function get_child_list($category_id) {
global $sess, $ps_product, $VM_LANG;
$ps_vendor_id = $_SESSION["ps_vendor_id"];
$db = new ps_DB;
$childs = array();

$q = "SELECT category_id, category_thumb_image, category_child_id,category_name FROM #__{vm}_category,#__{vm}_category_xref ";
$q .= "WHERE #__{vm}_category_xref.category_parent_id='$category_id' ";
$q .= "AND #__{vm}_category.category_id=#__{vm}_category_xref.category_child_id ";
$q .= "AND #__{vm}_category.vendor_id='$ps_vendor_id' ";
$q .= "AND #__{vm}_category.category_publish='Y' ";
$q .= "ORDER BY #__{vm}_category.list_order, #__{vm}_category.category_name ASC";
$db->setQuery($q);
$db->query();

while( $db->next_record() ) {
$childs[] = array (
'category_name' =>  $db->f("category_name"),
'category_id' => $db->f("category_id"),
'category_thumb_image' => $db->f("category_thumb_image"),
'number_of_products' => ps_product_category::products_in_category( $db->f("category_id")),
);
}
return $childs;
}
Заменить следующим:
Код
	/**
* creates a bulleted of the childen of this category if they exist
* @author pablo
* @param int $category_id
* @return string The HTML code
*/
function get_child_list($category_id) {
global $sess, $ps_product, $VM_LANG;
$ps_vendor_id = $_SESSION["ps_vendor_id"];
$db = new ps_DB;
$childs = array();

$q = "SELECT category_id, category_thumb_image, category_description, category_child_id,category_name FROM #__{vm}_category,#__{vm}_category_xref ";
$q .= "WHERE #__{vm}_category_xref.category_parent_id='$category_id' ";
$q .= "AND #__{vm}_category.category_id=#__{vm}_category_xref.category_child_id ";
$q .= "AND #__{vm}_category.vendor_id='$ps_vendor_id' ";
$q .= "AND #__{vm}_category.category_publish='Y' ";
$q .= "ORDER BY #__{vm}_category.list_order, #__{vm}_category.category_name ASC";
$db->setQuery($q);
$db->query();

while( $db->next_record() ) {
$childs[] = array (
'category_name' =>  $db->f("category_name"),
'category_id' => $db->f("category_id"),
'category_thumb_image' => $db->f("category_thumb_image"),
'category_description' => $db->f("category_description"),
'number_of_products' => ps_product_category::products_in_category( $db->f("category_id")),
);
}
return $childs;
}
В приложении, архив с измененными файлами для VirtueMart 1.1.9

[вложение удалено Администратором]
*

zilonitiz

  • Захожу иногда
  • 427
  • 14 / 1
Да, теперь все впорядке. Спасибо огромное. Скажите - это баг или что?
Автоматизация действий в интернете, рутина. Парсеры, постеры, регеры и т.д. Телеграм: @evildance.
*

AlterEgo

  • Захожу иногда
  • 170
  • 71 / 5
Нет. Изначально в марте не предусмотрен вывод описания категорий.
*

zilonitiz

  • Захожу иногда
  • 427
  • 14 / 1
Хммм... не знал... Спасибо еще раз...
Автоматизация действий в интернете, рутина. Парсеры, постеры, регеры и т.д. Телеграм: @evildance.
*

zilonitiz

  • Захожу иногда
  • 427
  • 14 / 1
Кстати, а может подскажете как вывести описание главной категории с верху? А то по умолчанию оно выводится в низу под списком категорий. Немогу найти код где это все формируется... В разных файлах как я понимаю...
Автоматизация действий в интернете, рутина. Парсеры, постеры, регеры и т.д. Телеграм: @evildance.
*

olimpiarik2014

  • Новичок
  • 1
  • 0 / 0
А можно сделать что-бы выводилось описание без товаров?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Альтернативный модуль вывода категорий товаров (mod_kdz_vm_categories)

Автор kordima

Ответов: 89
Просмотров: 30849
Последний ответ 19.02.2015, 22:02:14
от kordima
Вывод производителя не как ссылка

Автор StivinKing

Ответов: 1
Просмотров: 1836
Последний ответ 12.11.2014, 03:34:56
от evgen777
VirtueMart -как убрать слово "КАТЕГОРИИ" на первой странице магазина

Автор stalker828

Ответов: 12
Просмотров: 10479
Последний ответ 30.07.2014, 11:51:16
от ZAIRA
Показ модуля на странице товара только

Автор EmAl

Ответов: 24
Просмотров: 4419
Последний ответ 27.05.2014, 08:15:01
от Mitriy-Bug
Вывод модуля везде, кроме определенных категорий

Автор katjuha6

Ответов: 18
Просмотров: 4905
Последний ответ 13.01.2014, 15:24:40
от Fedor Vlasenko