Новости Joomla

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями 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 Гость просматривают эту тему.
  • 1 Ответов
  • 2607 Просмотров
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
в файле ps_product.php найти
Код
function get_neighbor_products( $product_id ) {
global $perm, $orderby, $my, $auth, $keyword, $DescOrderBy, $limit, $limitstart, $search_limiter, $search_op,
$category_id, $manufacturer_id, $vm_mainframe, $vmInputFilter, $product_type_id, $keyword1, $keyword2;
$limit = 2000;
        $limitstart = 0;
if( !empty( $_SESSION['last_browse_parameters'])) {
foreach( $_SESSION['last_browse_parameters'] as $paramName => $paramValue ) {
$$paramName = $paramValue;
}
}
$db = new ps_DB();
$db_browse = new ps_DB();
include( PAGEPATH . 'shop_browse_queries.php' );
должно быть
Код
function get_neighbor_products( $product_id ) {
global $perm, $orderby, $my, $auth, $keyword, $DescOrderBy, $limit, $limitstart, $search_limiter, $search_op,
$category_id, $manufacturer_id, $vm_mainframe, $vmInputFilter, $product_type_id, $keyword1, $keyword2;
$limit = 2000;
        $limitstart = 0;
include( PAGEPATH . 'shop_browse_queries.php' );
if( !empty( $_SESSION['last_browse_parameters'])) {
foreach( $_SESSION['last_browse_parameters'] as $paramName => $paramValue ) {
$$paramName = $paramValue;
}
}
$db = new ps_DB();
$db_browse = new ps_DB();
*

EmDmAl

  • Осваиваюсь на форуме
  • 29
  • 3 / 0
beagler, сделал как тут написано. VM1.1.8
Для примера:
-родительская категория
 -дочерняя категория 1
 -дочерняя категория 2
При переходе из родительской категории в товары ссылки на следующие и предыдущие товары появилась и корректно работает. Но при переходе из дочерних, родных категории к товарам ссылки на следующие и предыдущие товары появляются только для первых товаров. Если оставить по умолчанию, как выше в коде, то работают ссылки для дочерних, родных категории.
Изначальный код по умолчанию:
Код
	function get_neighbor_products( $product_id ) {
global $perm, $orderby, $my, $auth, $keyword, $DescOrderBy, $limit, $limitstart, $search_limiter, $search_op,
$category_id, $manufacturer_id, $vm_mainframe, $vmInputFilter, $product_type_id, $keyword1, $keyword2;
$limit = 2000;
        $limitstart = 0;

if( !empty( $_SESSION['last_browse_parameters'])) {
foreach( $_SESSION['last_browse_parameters'] as $paramName => $paramValue ) {
$$paramName = $paramValue;
}
}
$db = new ps_DB();
$db_browse = new ps_DB();
if (defined('VM_ALLOW_EXTENDED_CLASSES') && defined('VM_THEMEPATH') && VM_ALLOW_EXTENDED_CLASSES && file_exists(VM_THEMEPATH.'user_class/shop_browse_queries.php')) {
// Load the user-defined shop_browse_queries file
include_once(VM_THEMEPATH.'user_class/shop_browse_queries.php');
} else {
// Otherwise we have to use the original file
include( PAGEPATH . 'shop_browse_queries.php' );
}
Код после изменения:
Код
	function get_neighbor_products( $product_id ) {
global $perm, $orderby, $my, $auth, $keyword, $DescOrderBy, $limit, $limitstart, $search_limiter, $search_op,
$category_id, $manufacturer_id, $vm_mainframe, $vmInputFilter, $product_type_id, $keyword1, $keyword2;
$limit = 2000;
        $limitstart = 0;
if (defined('VM_ALLOW_EXTENDED_CLASSES') && defined('VM_THEMEPATH') && VM_ALLOW_EXTENDED_CLASSES && file_exists(VM_THEMEPATH.'user_class/shop_browse_queries.php')) {
// Load the user-defined shop_browse_queries file
include_once(VM_THEMEPATH.'user_class/shop_browse_queries.php');
} else {
// Otherwise we have to use the original file
include( PAGEPATH . 'shop_browse_queries.php' );
}
if( !empty( $_SESSION['last_browse_parameters'])) {
foreach( $_SESSION['last_browse_parameters'] as $paramName => $paramValue ) {
$$paramName = $paramValue;
}
}
$db = new ps_DB();
$db_browse = new ps_DB();
« Последнее редактирование: 07.11.2011, 18:24:44 от EmDmAl »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться