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

ifx

  • Осваиваюсь на форуме
  • 28
  • 4 / 0
А вот и для VirtueMart 1.1.9 рабочий хак

Код
// The "OR" in the where clause slows down the whole query. It is only needed when there are parent-products
$tmpdb = new ps_DB();
$tmpdb->query( "SELECT COUNT(*) AS parentcnt FROM #__{vm}_product WHERE product_parent_id>0");
$tmpdb->next_record();
if($tmpdb->f('parentcnt')>0) {
// bunak - OPTIMIZE ---------------->>>
$where_str = "(`#__{vm}_product_category_xref`.`product_id`=`#__{vm}_product`.`product_id` ";
if( !empty( $keyword ) ) {
// when someone is searching, we also show child products (product_parent_id != 0), IT is this case
$where_str .= " OR `#__{vm}_product_category_xref`.`product_id`=`#__{vm}_product`.`product_parent_id` ";
}
$where_str .= ")";
$where_clause[] = $where_str;
// bunak - OPTIMIZE <<<----------------
} else {
$where_clause[] = "`#__{vm}_product_category_xref`.`product_id`=`#__{vm}_product`.`product_id`";
}

копирайты уходят человеку под ником bunak
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Так все таки для работы с дочерними товарами, данный хак актуален?
*

A.Nitro

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Так все таки для работы с дочерними товарами, данный хак актуален?

Хак от bunak поддерживает товары дочерние-- но мне что то он не особо дал в скорости по данным одно и тоже(проверял на версии 1,9)
*

Edikxp

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Подскажите что делает этот запрос?

Код
SELECT g1.id, g1.name, COUNT(g2.name) AS level
FROM jos_core_acl_aro_groups AS g1
INNER JOIN jos_core_acl_aro_groups AS g2 ON g1.lft BETWEEN g2.lft AND g2.rgt
WHERE g1.lft BETWEEN 3 AND 12
GROUP BY g1.name
ORDER BY g1.lft
*

Edikxp

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Нашел этот запрос в файле ps_perm

Код
	$database->setQuery( "SELECT $fields"
. "\nFROM $table AS g1"
. "\nINNER JOIN $table AS g2 ON g1.lft BETWEEN g2.lft AND g2.rgt"
. "\n$where"
. ($groupby ? "\nGROUP BY $groupby" : "")
. "\nORDER BY g1.lft"
);


Если отключит то в товарах нету цен и просить позвонить и уточнить (( Хостер ругается ччто запрос медленный ((
*

vman

  • Новичок
  • 1
  • 0 / 0
Еще способ ускорить, у меня после всего перечисленного, с включенным кэшем и т.д., все тормозило, проблема была в модуле mod_virtuemart, точнее как он выводил категории, а их у меня более 1000. Пришлось сделать импровизированный хак, чтобы кэшировать запрос и обработку данных по категриям.
В файле /administrator/components/com_virtuemart/classes/ps_product_category.php
Находим
Код
$categories = ps_product_category::getCategoryTreeArray(); // Get array of category objects
$result = ps_product_category::sortCategoryTreeArray($categories); // Sort array of category objects
И меняем на
Код
        // Кэширование запроса по формированию списка каталога;

        $fn = "cache/ps_product_category/result.txt";
       
        $fntime=filemtime($fn);
        $curtime=time();
        $daytime = 86400; //кэшируется на 1 день
       
        if ($curtime > $fntime + $daytime or !file_exists($fn)) {
                    $categories = ps_product_category::getCategoryTreeArray(); // Get array of category objects
                    $result = ps_product_category::sortCategoryTreeArray($categories); // Sort array of category objects
                    $string_result = serialize($result);
                    $fh = fopen($fn, 'w');
                    fwrite($fh, $string_result);
                    fclose($fh);
        }
       
                $str = file_get_contents($fn);
                $result = unserialize($str);
       
        // Кэширование запроса по формированию списка каталога;
И обязательно завести папку ps_product_category в категории /cache сам он ее почему-то завести не может, по крайней мере у меня.
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
проблема была в модуле mod_virtuemart, точнее как он выводил категории, а их у меня более 1000.
Не проще ли в настройках модуля кэширование на сутки настроить, чем дёргать постоянно файловую систему
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Поиск для магазина автозапчастей как на Exist.ru!

Автор zzaj

Ответов: 21
Просмотров: 9556
Последний ответ 11.05.2016, 13:50:02
от Pahom72
Проверка повтора email в форме регистрации магазина

Автор robert

Ответов: 1
Просмотров: 2275
Последний ответ 23.12.2012, 20:25:21
от robert
Исключение страниц магазина при показе слайдера

Автор alexspi

Ответов: 0
Просмотров: 1372
Последний ответ 18.09.2012, 16:36:33
от alexspi
Хочу на этот компонент повесить как минимум два магазина!

Автор JomTime

Ответов: 0
Просмотров: 1449
Последний ответ 17.02.2012, 16:17:06
от JomTime
Вывод названия категории магазина в карточку товара

Автор SolopoV

Ответов: 9
Просмотров: 4099
Последний ответ 17.02.2012, 15:15:55
от tigra-uki