Новости Joomla

🏆 Открыто голосование за 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

👩‍💻 Вместе мы развиваем Joomla: станьте Joomfluencer!

👩‍💻 Вместе мы развиваем Joomla: станьте Joomfluencer!

Вы уверенно чувствуете себя перед камерой, динамичны, обаятельны и всегда улыбаетесь? Чувствуете себя искателем приключений, готовым поделиться своими исследованиями CMS Joomla!, взять интервью у видных деятелей сообщества, пообщаться лично или по видеосвязи с волонтерами Joomla или отправиться на поиски новых идей?

Joomla ищет одного или нескольких волонтеров, готовых вдохнуть новую жизнь в обсуждение Joomla, ее CMS, пользователей, сообщества и многого другого.

Возможны самые разные форматы и темы: шортсы, интервью, аналитика и разборы в режиме реального времени, быстрые советы и рекомендации, знакомство с миром Joomla, изучение открытого исходного кода... Нет никаких ограничений!

Joomla! уже активно представлена ​​во многих социальных сетях:
- 155K подписчиков на Facebook,
- 55K подписчиков на X (ранее Twitter),
- 16K подписчиков на YouTube,
- 14K подписчиков на LinkedIn,
- 5,7K подписчиков в Instagram
а так же другие площадки ждут вас. Аккаунты Threads и Bluesky относительно новые, но их популярность только растёт!

А если хватит энергии, можно рассмотреть и TikTok!

❓ Итак, вы готовы?
👉 Свяжитесь с отделом маркетинга по адресу: marketing@community.joomla.org

Подробности в статье в Joomla Community Magazine.

@joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 78 Ответов
  • 32675 Просмотров
*

arturk

  • Захожу иногда
  • 105
  • 11 / 2
спасибо neogeek все работает!
Joomla 3.4.4 VM 3.0.10
*

Eholov

  • Захожу иногда
  • 170
  • 14 / 0
Спасибо  neogeek! Работает.
только я не этот
Код
if ($virtuemart_category_id > 0) {
$joinCategory = TRUE;
$where[] = ' `pc`.`virtuemart_category_id` = ' . $virtuemart_category_id;
} else if ($isSite) {



а такой
Код
if ($virtuemart_category_id > 0) {
$joinCategory = TRUE;
if(true){
$where[] = ' `pc`.`virtuemart_category_id` = ' . $virtuemart_category_id;
} else {
/*GJC add subcat products*/
$catmodel = VmModel::getModel ('category');
$childcats = $catmodel->getChildCategoryList(1, $virtuemart_category_id,null, null, true);
$cats = $virtuemart_category_id;
foreach($childcats as $childcat){
$cats .= ','.$childcat->virtuemart_category_id;
}
$joinCategory = TRUE;
$where[] = ' `pc`.`virtuemart_category_id` IN ('.$cats.') ';
}
} else if ($isSite) {

код менял на указанный.
*

alanbus

  • Захожу иногда
  • 221
  • 3 / 0
А кто знает, как быть с тем, как формируется выдача на странице при выводе товаров из подкатегорий?

У меня такая структура страницы выходит..

Сперва идет заголовок h1 Товары
Потом список товаров
Потом снова этот же h1
Под ним список подкатегорий

Получается не очень хорошо -  два дублирующих заголовка h1 на 1 странице (с одним текстом)..

Использовал код, который выложил art-apple
« Последнее редактирование: 08.04.2016, 18:56:08 от alanbus »
*

SolopoV

  • Давно я тут
  • 577
  • 16 / 0
  • зеленею...
Этот хак у меня не заработал...
« Последнее редактирование: 22.04.2016, 08:05:14 от SolopoV »
*

crashwork

  • Новичок
  • 1
  • 0 / 0
Спасибо  neogeek! Работает.
только я не этот
Код
if ($virtuemart_category_id > 0) {
$joinCategory = TRUE;
$where[] = ' `pc`.`virtuemart_category_id` = ' . $virtuemart_category_id;
} else if ($isSite) {



а такой
Код
if ($virtuemart_category_id > 0) {
$joinCategory = TRUE;
if(true){
$where[] = ' `pc`.`virtuemart_category_id` = ' . $virtuemart_category_id;
} else {
/*GJC add subcat products*/
$catmodel = VmModel::getModel ('category');
$childcats = $catmodel->getChildCategoryList(1, $virtuemart_category_id,null, null, true);
$cats = $virtuemart_category_id;
foreach($childcats as $childcat){
$cats .= ','.$childcat->virtuemart_category_id;
}
$joinCategory = TRUE;
$where[] = ' `pc`.`virtuemart_category_id` IN ('.$cats.') ';
}
} else if ($isSite) {

код менял на указанный.

В этом случае походу вообще не нужны такие хаки. Самому вот понадобилось вывести товары из подкатегорий в VirtueMart 3.0.16.
Достаточно просто в этом месте:

Код
if ($virtuemart_category_id > 0) {
$joinCategory = TRUE;
if(true){
$where[] = ' `pc`.`virtuemart_category_id` = ' . $virtuemart_category_id;
} else {
/*GJC add subcat products*/
$catmodel = VmModel::getModel ('category');
$childcats = $catmodel->getChildCategoryList(1, $virtuemart_category_id,null, null, true);
$cats = $virtuemart_category_id;
foreach($childcats as $childcat){
$cats .= ','.$childcat->virtuemart_category_id;
}
$joinCategory = TRUE;
$where[] = ' `pc`.`virtuemart_category_id` IN ('.$cats.') ';
}

в операторе "if(true)" true заменить на false или !true, чтобы условие пошло по другой ветке. Там же комментарий самого разработчика присутствует: "/*GJC add subcat products*/"
*

nataliP

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

hels

  • Захожу иногда
  • 205
  • 0 / 0
в операторе "if(true)" true заменить на false или !true, чтобы условие пошло по другой ветке. Там же комментарий самого разработчика присутствует: "/*GJC add subcat products*/"
самый лучший вариант, а то я вначале начал сам колупать, потом искать хаки, коммент разработчика увидел и тоже подумал что возможно эта фишка уже сделана, но в админке чекбокса не нашел, а оказывается всетаки в коде надо добавить "!" :D
*

prezident

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Способ crashwork работает только если один уровень вложенности категорий.

Способ neogeek "вытягивает" товары из подкатегорий всех уровней вложенности.
*

hels

  • Захожу иногда
  • 205
  • 0 / 0
сделал как в моем предыдущем посту, только сейчас обнаружил что не работает фильтр по производителю, кто-то сталкивался? (только в конечной подкатегории он работает, а дальше нет.. просто выводится фраза "фильтр по производителю" глянул черед FireBug скрытого списка производителей там нет..)
*

hels

  • Захожу иногда
  • 205
  • 0 / 0
В этом случае походу вообще не нужны такие хаки. Самому вот понадобилось вывести товары из подкатегорий в VirtueMart 3.0.16.
Достаточно просто в этом месте:

Код
if ($virtuemart_category_id > 0) {
$joinCategory = TRUE;
if(true){
$where[] = ' `pc`.`virtuemart_category_id` = ' . $virtuemart_category_id;
} else {
/*GJC add subcat products*/
$catmodel = VmModel::getModel ('category');
$childcats = $catmodel->getChildCategoryList(1, $virtuemart_category_id,null, null, true);
$cats = $virtuemart_category_id;
foreach($childcats as $childcat){
$cats .= ','.$childcat->virtuemart_category_id;
}
$joinCategory = TRUE;
$where[] = ' `pc`.`virtuemart_category_id` IN ('.$cats.') ';
}

в операторе "if(true)" true заменить на false или !true, чтобы условие пошло по другой ветке. Там же комментарий самого разработчика присутствует: "/*GJC add subcat products*/"

если так сделать товары из подкатегорий выводятся в категориях, но не работает фильтр по производителю кто-то сталкивался?
*

6307007

  • Новичок
  • 2
  • 0 / 0
Ребят, а как можно модифицировать данный вывод и вывести по такому принципу

Название подкатегории
     Товар
     Товар
     Товар
     Товар

То есть например выводится

Спойлер
[свернуть]
Добрый день! Может кто нашел решение этой задачи. Мне также очень нужно, уже 2 месяца пытаюсь найти способ.
Только необходимо сделать вывод подкатегорий третьего уровня во второй, например:
Крепеж
- Анкерный крепеж
И при переходе в анкерный крепеж на странице отображалось :
 Анкер с кольцом
товар
товар
товар
 Анкер с гайкой
товар
товар
товар   и так далее
VirtueMart 2, Joomla 2.5
*

altayr

  • Новичок
  • 5
  • 1 / 0
начал читать сначала топика , изучил коды, нашел файлы, строки в коде и...
увидел что там передается условие в зависимости от некоего параметра, стал искать в настройках Virtuemart-a и оказалось все очень просто, не надо ничего программировать:
  • идем в меню и меняем галочку:

    VirtueMart -> Конфигурация -> Закладка "Внешний вид"
  • ищем поля
    "Show products of subcategories"
    "Показывает родительские товары без категорий в результате поиска и модулях"
  • ставим на них галочки.
  • Наслаждаемся.

« Последнее редактирование: 30.03.2018, 09:18:33 от altayr »
*

andrey222

  • Захожу иногда
  • 65
  • 0 / 1
altayr, вы упростили жизнь лишь тем, кто хочет видеть весь список товаров дочерних категорий в одном столбце.

А если нужно сделать, как хочет 6307007 и kira - этот метод не подходит. Как и все вышеуказанные хаки.

Мне тоже нужно, чтобы для каждой подкатегории товары выводились отдельными блоками, чтобы было сначало название данной подкатегории, а потом его товары. И всё на странице родительской категории.

Но ещё более важно, чтобы всё это быстро загружалось. А то даже вывод всех товаров дочерних категорий в одну колонку выдаёт очень долгую загрузку.
*

bren

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Решение для Joomla 3.4.1 + VirtueMart 3.0.6.4 аналогичное, даже короче немного.
Достаточно:
открыть -  /administrator/components/com_virtuemart/models/product.php
найти
Код
class VirtueMartModelProduct extends VmModel {
после этой строки добавить

Спасибо Большое. Решение работает от 2 до 3 версии Virtruemart.
*

bren

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
altayr, вы упростили жизнь лишь тем, кто хочет видеть весь список товаров дочерних категорий в одном столбце.

А если нужно сделать, как хочет 6307007 и kira - этот метод не подходит. Как и все вышеуказанные хаки.

Мне тоже нужно, чтобы для каждой подкатегории товары выводились отдельными блоками, чтобы было сначало название данной подкатегории, а потом его товары. И всё на странице родительской категории.

Но ещё более важно, чтобы всё это быстро загружалось. А то даже вывод всех товаров дочерних категорий в одну колонку выдаёт очень долгую загрузку.
Тема создана было по другому, Вывести товары из подкатегории в категорию. Это и сделали, а то что вам нужно в другой теме, решение вопроса тоже есть.
*

Akeksandr

  • Захожу иногда
  • 396
  • 12 / 0
если так сделать товары из подкатегорий выводятся в категориях, но не работает фильтр по производителю кто-то сталкивался?
Решили вопрос по сортировке по Производителю? Тоже актуально. Работает только непосредственно в подкатегории с товаром.
*

andrey222

  • Захожу иногда
  • 65
  • 0 / 1
Тема создана было по другому, Вывести товары из подкатегории в категорию. Это и сделали, а то что вам нужно в другой теме, решение вопроса тоже есть.
подскажите, пожалуйста, ссылка на эту тему.
*

kreker92

  • Захожу иногда
  • 390
  • 18 / 0
Для VirtueMart 3.8.4

В настройках VirtueMart Настройки->Внешний вид. Ставим галочку "Показать продукты подкатегорий".
Это покажет товары из прямого потомка.

Чтобы показать товары из всех дальних потомков нужно править код.
Узнаём, что где ставили галочку имя настройки называется show_subcat_products.
Находим его здесь: administrator/components/com_virtuemart/models/product.php
Сделали мы это через команду в терминале (нужен терминал и SSH доступ) fgrep -lr show_subcat_products administrator/components/com_virtuemart

В файле находим строку:
Код
if(VmConfig::get('show_subcat_products',false)){

И правим код с вот этого:
Код
if(VmConfig::get('show_subcat_products',false)){
        /*GJC add subcat products*/
        $catmodel = VmModel::getModel ('category');
        $childcats = $catmodel->getChildCategoryList(1, $virtuemart_category_id,null, null, true);
        $cats = $virtuemart_category_id;
        foreach($childcats as $childcat){
                $cats .= ','.$childcat->virtuemart_category_id;
        }       
        $joinCategory = TRUE;
        $where[] = ' `pc`.`virtuemart_category_id` IN ('.$cats.') ';
} else {
        $where[] = ' `pc`.`virtuemart_category_id` = ' . $virtuemart_category_id;
}
На этот:
Код
if(VmConfig::get('show_subcat_products',false)){
        /*GJC add subcat products*/
        $catmodel = VmModel::getModel ('category');
        $childcats = $catmodel->getChildCategoryList(1, $virtuemart_category_id,null, null, true);
        $cats = $virtuemart_category_id;
        foreach($childcats as $childcat){
                $cats .= ','.$childcat->virtuemart_category_id;
        }       
        while(count($childcats) > 0) {
                $newchildcats = [];
                foreach($childcats as $childcat){
                        $newchildcats = array_merge($newchildcats, $catmodel->getChildCategoryList(1, $childcat->virtuemart_category_id,null, null, true));
                }       
                foreach($newchildcats as $childcat){
                        $cats .= ','.$childcat->virtuemart_category_id;
                }       
                $childcats = $newchildcats;
        }       
        $joinCategory = TRUE;
        $where[] = ' `pc`.`virtuemart_category_id` IN ('.$cats.') ';
} else {
        $where[] = ' `pc`.`virtuemart_category_id` = ' . $virtuemart_category_id;
}

Мы с вами успешно добавили рекурсивный цикл где идем по дереву категорий, начиная от первых потомков выбранной категории.  *DRINK*
Все вопросы и предложения на почту.
*

kisBoss

  • Захожу иногда
  • 449
  • 36 / 0
  • ник Tobol
Почему-то у меня не работает данный хак на последней версии компонента. Выдает 404 ошибку.
P.S. Сделал при помощи kreker92. Поменял чуть большую часть кода на
Код
     if ($this->product_parent_id) {
         $where[] = ' p.`product_parent_id` = ' . $this->product_parent_id;
         $virtuemart_category_id = false;
      }
      if (!empty($virtuemart_category_id )){
if( is_array($virtuemart_category_id)) {
$virtuemart_category_id = array_filter($virtuemart_category_id);
} else {
$virtuemart_category_id = array($virtuemart_category_id);
}
}
  if (!empty($virtuemart_category_id ))
      if ($virtuemart_category_id > 0) {
         $joinCategory = TRUE;
         if(VmConfig::get('show_subcat_products',false)){
            /*GJC add subcat products*/
           $catmodel = VmModel::getModel ('category');
$cats = '';
foreach($virtuemart_category_id as $catId){
$childcats = $catmodel->getChildCategoryList(1, $catId,null, null, true);
foreach($childcats as $k=>$childcat){
if(!empty($childcat->virtuemart_category_id)){
$cats .= $childcat->virtuemart_category_id .',';
}
}
$cats .= $catId;
}
            while(count($childcats) > 0) {
               $newchildcats = [];
               foreach($childcats as $childcat){
                  $newchildcats = array_merge($newchildcats, $catmodel->getChildCategoryList(1, $childcat->virtuemart_category_id,null, null, true));
               }
               foreach($newchildcats as $childcat){
                  $cats .= ','.$childcat->virtuemart_category_id;
               }
               $childcats = $newchildcats;
            }

            $joinCategory = TRUE;
            $where[] = ' `pc`.`virtuemart_category_id` IN ('.$cats.') ';
         } else {
            $where[] = ' `pc`.`virtuemart_category_id` = ' . $virtuemart_category_id;
         }
« Последнее редактирование: 10.03.2021, 21:02:46 от kisBoss »
Если помог - поставте "плюс". Вам ничего не стоит, а мне приятно.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести слово От рядом с ценой?

Автор art22

Ответов: 4
Просмотров: 1985
Последний ответ 07.04.2024, 11:19:12
от art22
Как сделать товары в 2 колонки в моб версии?

Автор art22

Ответов: 4
Просмотров: 3019
Последний ответ 06.12.2022, 11:42:56
от art22
Как пересохранить все товары?

Автор stydent

Ответов: 1
Просмотров: 3510
Последний ответ 30.03.2022, 10:38:06
от itpremium
mod_virtuemart_product - как скрыть товары, которых нет в наличии?

Автор alexfom_16

Ответов: 40
Просмотров: 7092
Последний ответ 11.10.2021, 17:50:38
от hmr
Приоритетный Itemid для формирования ссылок на товары/категории

Автор rsn

Ответов: 2
Просмотров: 986
Последний ответ 10.03.2020, 08:21:45
от rsn