Новости Joomla

‼️ 👩‍💻 Обновление безопасности для Tassos Framework!

‼️ 👩‍💻 Обновление безопасности для Tassos Framework!

7 января 2026 года греческому разработчику Тассосу Мариносу сообщили об уязвимости в системном плагине Tassos Framework, который входит в состав его расширений для Joomla.

⚠️ Проблема затрагивает следующие расширения:
- Convert Forms - конструктор форм обратной связи для Joomla
- EngageBox - конструктор всплывающих окон для Joomla
- Google Structured Data - пакет плагинов микроразметки для Joomla
- Advanced Custom Fields - пакет плагинов пользовательских полей (видео-сервисы, карты и иже с ними)
- Smile Pack - пакет расширений
- MailChimp Auto-Subscribe

Незамедлительно была проведена полная внутренняя проверка кода, внедрены дополнительные меры проверки и повышения безопасности, а также выпущены исправленные версии всех затронутых расширений. Проблема полностью решена.

👉 Суть уязвимости.
Уязвимость заключалась в том, как плагин Tassos Framework обрабатывал определенные AJAX-запросы через com_ajaxточку входа Joomla. При определенных условиях внутренняя функциональность фреймворка могла быть вызвана без надлежащих ограничений.

В худшем случае это могло позволить неавторизованному злоумышленнику читать файлы, доступные веб-серверу. Это также могло позволить удалять файлы с сервера при выполнении определенных условий.

При определенных обстоятельствах запросы к базе данных могли быть изменены для извлечения данных из базы данных Joomla. В совокупности эти возможности потенциально могли быть использованы для повышения уровня доступа и выполнения несанкционированного кода.

В настоящее время нет никаких доказательств того, что эта уязвимость была использована в реальных условиях.

Немедленно обновите расширения до безопасных версий (Joomla 4/5/6 | Joomla 3):
- Convert Forms - v5.1.1 / v.4.1.1
- EngageBox - v.7.1.1 / v,6,3,9
- Google Structured Data - v.6.1.1 / v.5.6.9
- Advanced Custom Fields - v.3.1.1 / v.2.8.10
- Smile Pack - v.2.1.1 / v.1.2.4.
- MailChimp Auto-Subscribe - v.5.1.1+ / v.5.0.4

Все указанные версии включают в себя релиз безопасности плагина Tassos Framework System Plugin v6.0.62.

Если у вас установлено несколько расширений Tassos, достаточно обновить только одно, чтобы применить патч. Однако всегда рекомендуется обновлять все расширения.

@joomlafeed

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

Google Summer of Code (GSoC) - программа компании Google, которая позволяет участникам программы под руководством опытных наставников писать код для организаций, занимающейся открытым исходным кодом. Joomla принимает участие в этой программе не в первый раз и в 2026 году снова включена в список GSoC. Для программы утверждается список "идей", воплотить которые должны участники под руководством наставников.

Проекты Joomla в рамках программы GSoC 2026.

Проект I: Ajax-бэкенд.
- Действия в административной панели без необходимости обновлять страницу.
- Автоматическое сохранение содержимого во время редактирования.
- Расширенный фильтр - поиск и фильтрация по пользовательским полям.

Проект II: Автоматизация рабочих процессов (workflow + task scheduler).
Joomla имеет функцию процессов и планировщика задач. Теперь эти две функции следует объединить, чтобы пользователь мог настраивать назначенные рабочие процессы таким образом, чтобы переходы выполнялись автоматически, с возможностью точного определения времени. Должна быть возможность создавать циклы или прямые запланированные рабочие процессы. Предполагается, что интерфейс должен учитывать хороший пользовательский опыт, удобство использования и современные стандарты доступности. Ожидается, что будет добавлен интерфейс для управления процессами и их расписанием на страницах категорий и материалов. Так же ожидается, что сторонние компоненты также смогут воспользоваться этим функционалом.

Проект III: Мультикатегории.
В настоящее время Joomla! не позволяет назначать один элемент нескольким категориям. Хотя система тегов часто используется в качестве замены, существует острая потребность в нативной поддержке нескольких категорий, чтобы привести Joomla! в соответствие с другими современными системами управления контентом.

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

Принять участие GSoC 2026
Подробнее о проектах Joomla GSoC 2026
Чат GSoC в Mattermost (международное сообщество 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.

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

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
mod_jshopping_categories Как показать все подкатегории?
« Последнее редактирование: 07.09.2011, 14:17:17 от Виталик »
*

toliki

  • Осваиваюсь на форуме
  • 20
  • 11 / 0
Можно, например, в файле
\modules\mod_jshopping_categories\helper.php
изменить функцию getTreeCats и добавить функцию getTreeCats2
Код
    function getTreeCats($order, $ordering, $category_id, $categories_id, &$categories, $level=0){
        $cat = &JTable::getInstance('category', 'jshop');
        $cat->category_parent_id = 0;
        $cats = $cat->getSisterCategories($order, $ordering);
        foreach($cats as $key=>$value){
            $cats[$key]->level = $level;
            $categories[] = $value;
            jShopCategoriesHelper::getTreeCats2($order, $ordering, $value->category_id, $categories_id, $categories, $level);
        }
    }
    
    function getTreeCats2($order, $ordering, $category_id, $categories_id, &$categories, $level){
        ++$level;
        $cat = &JTable::getInstance('category', 'jshop');
        $cat->category_id = $category_id;
        $cats = $cat->getChildCategories($order, $ordering);
        foreach($cats as $key=>$value){
            $cats[$key]->level = $level;
            $categories[] = $value;
            jShopCategoriesHelper::getTreeCats2($order, $ordering, $value->category_id, $categories_id, $categories, $level);
        }
    }
« Последнее редактирование: 07.09.2011, 12:41:22 от toliki »
*

Sam-vdv

  • Захожу иногда
  • 145
  • 13 / 0
  • знание - сила
а можно поподробнее ...
или пожалуйста выложите рабочий helper.php
Если у Вас есть какие то вопросы обращайтесь - чем смогу помогу!
*

toliki

  • Осваиваюсь на форуме
  • 20
  • 11 / 0
Вот содержимое файла \modules\mod_jshopping_categories\helper.php
Код
<?php
class jShopCategoriesHelper{
   
    function getTreeCats($order, $ordering, $category_id, $categories_id, &$categories, $level=0){
        $cat = &JTable::getInstance('category', 'jshop');
        $cat->category_parent_id = 0;
        $cats = $cat->getSisterCategories($order, $ordering);
        foreach($cats as $key=>$value){
            $cats[$key]->level = $level;
            $categories[] = $value;
            jShopCategoriesHelper::getTreeCats2($order, $ordering, $value->category_id, $categories_id, $categories, $level);
        }
    }
   
    function getTreeCats2($order, $ordering, $category_id, $categories_id, &$categories, $level){
        ++$level;
        $cat = &JTable::getInstance('category', 'jshop');
        $cat->category_id = $category_id;
        $cats = $cat->getChildCategories($order, $ordering);
        foreach($cats as $key=>$value){
            $cats[$key]->level = $level;
            $categories[] = $value;
            jShopCategoriesHelper::getTreeCats2($order, $ordering, $value->category_id, $categories_id, $categories, $level);
        }
    }

    function getCatsArray($order, $ordering, $category_id, $categories_id = array()){
       $res_arr = array();
       jShopCategoriesHelper::getTreeCats($order, $ordering, $category_id, $categories_id, $res_arr, 0);
       return $res_arr;
    }
   
}
?>
*

karam0n

  • Захожу иногда
  • 75
  • 2 / 0
Спасибо за решение  ^-^ Подскажите как такую же штуку проделать с категориями которые выводятся на главной, что бы, вложенные подкатегории были раскрыты не в модуле каталога, а на главной странице магазина.
*

toliki

  • Осваиваюсь на форуме
  • 20
  • 11 / 0
Подскажите как такую же штуку проделать с категориями которые выводятся на главной
Да не вопрос.
Нам нужен файл: \components\com_jshopping\controllers\category.php
Добавляем туда такую же функцию getTreeCats2 и слегка правим функцию display()
Код
    function getTreeCats2($order, $ordering, $category_id, $categories_id, &$categories, $level){
        ++$level;
        $cat = &JTable::getInstance('category', 'jshop');
        $cat->category_id = $category_id;
        $cats = $cat->getChildCategories($order, $ordering);
        foreach($cats as $key=>$value){
            $cats[$key]->level = $level;
            $categories[] = $value;
            JshoppingControllerCategory::getTreeCats2($order, $ordering, $value->category_id, $categories_id, $categories, $level);
        }
    }
    function display(){
        $mainframe =& JFactory::getApplication();
        $db =& JFactory::getDBO();
        $jshopConfig = &JSFactory::getConfig();
        $params = $mainframe->getParams();
        $category_id = 0;       
       
        $ordering = "ordering";
        $category = &JTable::getInstance('category', 'jshop');       
        $category->load($category_id);
        $cats = $category->getChildCategories($ordering, 'asc', 1);
        $category->getDescription();
       
        $level = 0;
        $cat = &JTable::getInstance('category', 'jshop');
        $cat->category_parent_id = 0;
        $cats = $cat->getSisterCategories($ordering, 'asc');
        foreach($cats as $key=>$value){
            $cats[$key]->level = $level;
            $categories[] = $value;
            JshoppingControllerCategory::getTreeCats2($ordering, 'asc', $value->category_id, $category_id, $categories, $level);
        }
       
        JPluginHelper::importPlugin('jshopping');
        $dispatcher =& JDispatcher::getInstance();
        $dispatcher->trigger( 'onBeforeDisplayMainCategory', array(&$category, &$categories) );
             
        if ($category->meta_title==""){
            $category->meta_title = $params->get('page_title');
        }
        setMetaData($category->meta_title, $category->meta_keyword, $category->meta_description);
       
        if ($jshopConfig->use_plugin_content){       
            changeDataUsePluginContent($category, "category");
        }

        $view_name = "category";
        $view_config = array("template_path"=>JPATH_COMPONENT."/templates/".$jshopConfig->template."/".$view_name);
        $view = &$this->getView($view_name, 'html', '', $view_config);
        $view->setLayout("mainpage");
        $view->assign('category', $category);
        $view->assign('image_category_path', $jshopConfig->image_category_live_path);       
        $view->assign('noimage', 'noimage.gif');
        $view->assign('categories', $categories);       
        $view->assign('count_category_to_row', $jshopConfig->count_category_to_row);
        $view->assign('params', $params);
       
        $view->display();
    }

Т.о. мы реализовали отбор данных для отображения. Если на этом и остановиться то на главной странице магазина Вы увидите все категории разбитые на кол-во столбцов указанное в настройках.
Чтобы это выглядело как дерево необходимо поправить \components\com_jshopping\templates\default\category\mainpage.php
Где-нибудь в начале вставить:
Код
<?php $count_category_to_row=1;?>
а строку:
Код
<td class="image">
заменить например на такую:
Код
<td class="image" style="padding-left: <?php print ($category->level*120).px?>">
*

karam0n

  • Захожу иногда
  • 75
  • 2 / 0
спасибо за подсказку, но все же немного не то у меня получается... почему то продублировались основные категории, и списком вывод подкатегорий не выводится, все сбивается в кучу... продолжаю мучать...
*

ars-vita

  • Осваиваюсь на форуме
  • 11
  • 1 / 0
mod_jshopping_categories Как показать все подкатегории?

У меня та же проблема. Я работаю с JoomShopping 2.9.7 под Joomla 1.5.23.
Пробовал подцеплять все категории, используя функцию getTreeCats2, предложенную toliki. В результате, категории появляются на какую-то долю секунды, а потом все исчезают. Помогите пожалуйста отыскать причину ошибки. Вот новое содержимое файла mod_jshopping_categories\helper.php:

Код
<?php
class jShopCategoriesHelper{
   
    function getTreeCats($order, $ordering, $category_id, $categories_id, &$categories, $level=0){
        if ($category_id){
            if (isset($categories_id[$level])){
                $cat = &JTable::getInstance('category', 'jshop');       
                $cat->load($categories_id[$level]);

                $cats = $cat->getSisterCategories($order, $ordering);
                foreach ($cats as $key=>$value){
                    $value->level = $level;
                    if (in_array($value->category_id, $categories_id)){
                        $categories[] = $value;
                        // get Children cats
                        if ($value->category_id == $category_id){
                            $cat = &JTable::getInstance('category', 'jshop');       
                            $cat->load($categories_id[$level]);
                            $cat->category_id = $category_id;
                            $childs = $cat->getChildCategories($order, $ordering);
                            foreach ($childs as $key2=>$value2){
                                $value2->level = $level + 1;
                                $categories[] = $value2;
                            }
                        }
                        jShopCategoriesHelper::getTreeCats($order, $ordering, $category_id,$categories_id, $categories, ++$level);
                        $level--;
                    } else {
                        $categories[] = $value;   
                    }
                }
            }
        } else {
            $cat = &JTable::getInstance('category', 'jshop');
            $cat->category_parent_id = 0;
            $cats = $cat->getSisterCategories($order, $ordering);
            foreach($cats as $key=>$value){
                $cats[$key]->level = 0;
            }
            $categories = $cats;   
        }

    }

    function getTreeCats2($order, $ordering, $category_id, $categories_id, &$categories, $level){
      ++$level;
      $cat = &JTable::getInstance('category', 'jshop');
      $cat->category_id = $category_id;
      $cats = $cat->getChildCategories($order, $ordering);
      foreach($cats as $key=>$value){
        $cats[$key]->level = $level;
        $categories[] = $value;
        jShopCategoriesHelper::getTreeCats2($order, $ordering, $value->category_id, $categories_id, $categories, $level);
      }
    }
   
    function getCatsArray($order, $ordering, $category_id, $categories_id = array()){
       $res_arr = array();
       jShopCategoriesHelper::getTreeCats2($order, $ordering, $category_id, $categories_id, $res_arr, 0);
       return $res_arr;
    }
   
}
?>

Замечу, что изначальная функция getTreeCats в моей версии модуля отличается от той, что привел toliki.
*

toliki

  • Осваиваюсь на форуме
  • 20
  • 11 / 0
Замечу, что изначальная функция getTreeCats в моей версии модуля отличается от той, что привел toliki.
Изначально она у меня была такой же как и у Вас. Я ее изменил, о чем и сообщил в самом начале. Поэтому замените свою getTreeCats на мою - и будет Вам счастье.(я так думаю  ^-^)
*

ars-vita

  • Осваиваюсь на форуме
  • 11
  • 1 / 0
Цитировать
и будет Вам счастье
И действительно счастье! :) Это моя невнимательность, что не заметил весь код полностью в самом начале темы.
Спасибо, что заострили мое внимане. Теперь все работает на ура.

Добрый день! А как сделать чтобы подкатегории плавно открывались и закрывались при наведения указателем на главную категорию? А не просто были открыты сразу все?
Заранее спасибо за ответ!
*

MANUNY

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • каждому свое...
Можно, например, в файле
\modules\mod_jshopping_categories\helper.php
изменить функцию getTreeCats и добавить функцию getTreeCats2
Код
    function getTreeCats($order, $ordering, $category_id, $categories_id, &$categories, $level=0){
        $cat = &JTable::getInstance('category', 'jshop');
        $cat->category_parent_id = 0;
        $cats = $cat->getSisterCategories($order, $ordering);
        foreach($cats as $key=>$value){
            $cats[$key]->level = $level;
            $categories[] = $value;
            jShopCategoriesHelper::getTreeCats2($order, $ordering, $value->category_id, $categories_id, $categories, $level);
        }
    }
   
    function getTreeCats2($order, $ordering, $category_id, $categories_id, &$categories, $level){
        ++$level;
        $cat = &JTable::getInstance('category', 'jshop');
        $cat->category_id = $category_id;
        $cats = $cat->getChildCategories($order, $ordering);
        foreach($cats as $key=>$value){
            $cats[$key]->level = $level;
            $categories[] = $value;
            jShopCategoriesHelper::getTreeCats2($order, $ordering, $value->category_id, $categories_id, $categories, $level);
        }
    }
Подскажите форумчане как можно реализовать данное меню вывода категорий и подкатегорий, вот пример: http://e96.ru/ ,  у меня установлена Joomla 1.7.2+jshopping 3.2.7 +шаблон JA Tiris все на DENWERE
*

toliki

  • Осваиваюсь на форуме
  • 20
  • 11 / 0
Подскажите форумчане как можно реализовать данное меню вывода категорий и подкатегорий, вот пример: http://e96.ru/ ...
Можно.
Нам нужен файл: \components\com_jshopping\templates\lenok\category\mainpage.php
В нем реализован вывод категорий на главной странице магазина.
Категории верхнего уровня отобразим в виде наименований, подкатегории на 1 уровень ниже - в виде ссылок.
После необходимых изменений выглядеть он может например так:
Код
<?php if ($this->params->get('show_page_title') && $this->params->get('page_title')) {?>    
<div class="componentheading<?php print $this->params->get('pageclass_sfx');?>"><?php print $this->params->get('page_title')?></div>
<?php }?>

<div class="jshop">

<?php if (count($this->categories)){?>
    <?php foreach($this->categories as $k1=>$category1){?>
    <div class="icat">
       <div class="icat1"><?php print($k1);?></div>
       <div class="icat2">
        <?php foreach($category1 as $k=>$category){?>
<div class="icat3">
            <a class = "product_link" aling = "center" href = "<?php print $category->category_link?>"><?php print $category->name?></a><br />
</div>
        <?php } ?>
<div style="clear: both;"></div>
       </div>
    </div>
    <?php } ?>

<?php } ?>
<?php print $this->category->description?>
</div>

Для получения необходимого стиля отображения надо внести изменения в какой-нибудь css
Например: \components\com_jshopping\css\default.css
Код
.icat {
    margin: 0 0 21px;
}
.icat1 {
    font-size: 24px;
    margin: 0 0 3px;
}
.icat2 {
    margin: 0 0 7px;
}
.icat3 {
    float: left;
    margin: 0 7px 0 0;
    white-space: nowrap;
}

Должен обратить внимание на то что это - пример. Он не является полностью готовым решением. Возможно будет полезен.
*

mainet

  • Захожу иногда
  • 148
  • 1 / 0
Как все категории вывести в виде трее меню ?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
1. Либо сам... ЦСС + код
2. Либо платный модуль на сайте разработчика.

Вариантов не много ;)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

mainet

  • Захожу иногда
  • 148
  • 1 / 0
1. Либо сам... ЦСС + код
2. Либо платный модуль на сайте разработчика.

Вариантов не много ;)
2 вариант не вариант.
1 поэтому я и спросил как сделать.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Самый просто путь создать меню со ссылками на все категории.
И вывести его с использованием модуля меню, который позволяет выводить меню в виде дерева.
Такой модуль просто поищите, их куча в сети.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Oggy

  • Захожу иногда
  • 59
  • 0 / 2
Здравствуйте. Подскажите ПОЖАЛУЙСТА как сделать выпадающий список для категорий магазина. Я использую Jshopping categories.
Вот верстка:
<div class="l_title" style="margin:10px 0 10px 20px;">Категории</div>
<div class="droup_menu">
                <ul class="droup-menu">
                  <li><a>Категория 1</a>
                    <ul>
                      <li><a href="#0">содержимое категории 1</a></li>
                      <li><a href="#0">содержимое категории 2</a></li>
                    </ul>
                  </li>
                </ul>
            </div>
а вот код самого модуля:

<?php
  foreach($categories_arr as $curr){
      $class = "jshop_menu_level_".$curr->level;
      if ($categories_id[$curr->level]==$curr->category_id) $class = $class."_a";     
      ?>
      <div class = "<?php print $class?>">
<a href = "<?php print $curr->category_link?>"><?php print $curr->name?>
                <?php if ($show_image && $curr->category_image){?>
 <img align = "absmiddle" src = "<?php print $jshopConfig->image_category_live_path."/".$curr->category_image?>" alt = "<?php print $curr->name?>" />
                <?php } ?>
            </a>
 </div>
                 
  <?php
  }
?>
*

toliki

  • Осваиваюсь на форуме
  • 20
  • 11 / 0
В двух словах идея такая.
Мы знаем как отобрать все категории, осталось переделать отображение.
Категории самого верхнего уровня имеют level равный 0.
Отображение модуля категорий реализовано в файле
\modules\mod_jshopping_categories\tmpl\default.php
Необходимо его переделать, для начала как то так:
Код
<?php
$number=0;
  foreach($categories_arr as $curr){

  if ($curr->level==0){
    if ($number!=0) {
      print '</select>';
      print '</br>';
    }
    $number=1;
    print '<select>';
  }
?>
  <option>
    <?php print $curr->name?>
  </option>
<?php
  }
    print '</select>';
?>
*

DamianTrash

  • Захожу иногда
  • 169
  • 4 / 0
Добрый день. А может кто-то подскажет. Как сделать так, чтобы подкатегории были скрыты? А открывались только когда родительская категория была активной?
*

Guitaristka

  • Осваиваюсь на форуме
  • 43
  • 2 / 0
У меня задача такая - на главной модуль категорий должен выводить только ограниченное количество - например только 11 (желательно иметь возможность выбрать - какие конкретно) - по умолчанию он выводит все и в настройках нет возможности им управлять - Joomla 3 + Шоппинг 4
помогите с решением. спасибо! И еще -у кого можно заказать плагин под мои версии конкретно под другую задачку?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
управлять нет возможности.
под J3 практически ничего еще нет, только сток базовый по модулям.
относительно у кого заказать:
либо коммеческий раздел на форуме,
либо посмотрите тут исполнителей хватало.
либо можем мы.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

litwit

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Вывод субкатегорий внутри родительской, может сгодится кому.
Код
<ul>
  <li class="current">
     <a href="#">Родительская категория №1</a>
     <ul>
          <li class="current"><a href="#">Дочерняя категория №1</a></li>
          <li><a href="#">Дочерняя категория №2</a></li>
     </ul>
  </li>
  <li>
     <a href="#">Родительская категория №2</a>
     <ul>
          <li><a href="#">Дочерняя категория №1</a></li>
          <li><a href="#">Дочерняя категория №2</a></li>
     </ul>
  </li>
</ul>

Для модуля категорий файл \modules\mod_jshopping_categories\tmpl\default.php
Код
<ul>
<?php
$lvl=0;
  foreach($categories_arr as $curr){
      $class = "jshop_menu_level_".$curr->level;
      if ($categories_id[$curr->level]==$curr->category_id) $class = $class."_a";     
      ?>  
        <?php if($curr->level == 0) : if($lvl==1) : echo '</ul></li>'; $lvl=0; endif; echo '<li class='.$class.'><a style="font-weight: bold;" href="'.$curr->category_link.'">'.$curr->name.'</a><ul>'; $lvl=1;
else : echo '<li class='.$class.'><a href="'.$curr->category_link.'">'.$curr->name.'</a>|</li>'; ?>
    <?php endif; } ?>
</ul>
« Последнее редактирование: 12.02.2013, 13:04:21 от litwit »
*

SityXXX

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
Да не вопрос.
Нам нужен файл: \components\com_jshopping\controllers\category.php
Добавляем туда такую же функцию getTreeCats2 и слегка правим функцию display()
Код
Joomla 2.5.9 и JoomShopping 3.14.0 не работает, ошибка 500. Помогите так как в коде не очень. 
    function getTreeCats2($order, $ordering, $category_id, $categories_id, &$categories, $level){
        ++$level;
        $cat = &JTable::getInstance('category', 'jshop');
        $cat->category_id = $category_id;
        $cats = $cat->getChildCategories($order, $ordering);
        foreach($cats as $key=>$value){
            $cats[$key]->level = $level;
            $categories[] = $value;
            JshoppingControllerCategory::getTreeCats2($order, $ordering, $value->category_id, $categories_id, $categories, $level);
        }
    }
    function display(){
        $mainframe =& JFactory::getApplication();
        $db =& JFactory::getDBO();
        $jshopConfig = &JSFactory::getConfig();
        $params = $mainframe->getParams();
        $category_id = 0;       
       
        $ordering = "ordering";
        $category = &JTable::getInstance('category', 'jshop');       
        $category->load($category_id);
        $cats = $category->getChildCategories($ordering, 'asc', 1);
        $category->getDescription();
       
        $level = 0;
        $cat = &JTable::getInstance('category', 'jshop');
        $cat->category_parent_id = 0;
        $cats = $cat->getSisterCategories($ordering, 'asc');
        foreach($cats as $key=>$value){
            $cats[$key]->level = $level;
            $categories[] = $value;
            JshoppingControllerCategory::getTreeCats2($ordering, 'asc', $value->category_id, $category_id, $categories, $level);
        }
       
        JPluginHelper::importPlugin('jshopping');
        $dispatcher =& JDispatcher::getInstance();
        $dispatcher->trigger( 'onBeforeDisplayMainCategory', array(&$category, &$categories) );
             
        if ($category->meta_title==""){
            $category->meta_title = $params->get('page_title');
        }
        setMetaData($category->meta_title, $category->meta_keyword, $category->meta_description);
       
        if ($jshopConfig->use_plugin_content){       
            changeDataUsePluginContent($category, "category");
        }

        $view_name = "category";
        $view_config = array("template_path"=>JPATH_COMPONENT."/templates/".$jshopConfig->template."/".$view_name);
        $view = &$this->getView($view_name, 'html', '', $view_config);
        $view->setLayout("mainpage");
        $view->assign('category', $category);
        $view->assign('image_category_path', $jshopConfig->image_category_live_path);       
        $view->assign('noimage', 'noimage.gif');
        $view->assign('categories', $categories);       
        $view->assign('count_category_to_row', $jshopConfig->count_category_to_row);
        $view->assign('params', $params);
       
        $view->display();
    }

Т.о. мы реализовали отбор данных для отображения. Если на этом и остановиться то на главной странице магазина Вы увидите все категории разбитые на кол-во столбцов указанное в настройках.
Чтобы это выглядело как дерево необходимо поправить \components\com_jshopping\templates\default\category\mainpage.php
Где-нибудь в начале вставить:
Код
<?php $count_category_to_row=1;?>
а строку:
Код
<td class="image">
заменить например на такую:
Код
<td class="image" style="padding-left: <?php print ($category->level*120).px?>">
Joomla 2.5.9 и JoomShopping 3.14.0 не работает, помогите, в коде не шарю.
*

orexov_m

  • Захожу иногда
  • 297
  • 24 / 0
В соответствии с данным постом, переделал модуль вывода категорий.
Добавил возможность выбора шаблона отображения либо на div либо списком через ul li
Мало ли кому пригодится.
Skype:orekhov.mikhail, ICQ: 580077720, Телега
*

lolJQeee

  • Новичок
  • 1
  • 0 / 0
Такой вопрос...(если не в той теме, извините, здесь не долго, пока не разобрался)...Мне нужно сделать вывод меню как на мацури22 .рф....при нажатии на пункт меню выводиться та или иная категория....можно сделать это через Jshopping и как?!  Joomla 2.5 JS Version 3.13.1   Заранее благодарен!
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
сделать пункт меню на категорию...
начните с FAQ раздела и видео по работе с ЖШ.

разжевывать то что уже давно разжевано никто не будет.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

zwert

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

vitoxa_ya

  • Осваиваюсь на форуме
  • 12
  • 4 / 0
Всем привет, в этой теме: http://joomlaforum.ru/index.php/topic,174081.msg1391073.html#msg1391073 я выложил решение которое генерирует меньше запросов в базу.
*

Paha_web

  • Захожу иногда
  • 166
  • 1 / 0
  • Еще правок хотите?
В соответствии с данным постом, переделал модуль вывода категорий.
Добавил возможность выбора шаблона отображения либо на div либо списком через ul li
Мало ли кому пригодится.


Спасибо дружище! удачи тебе.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Адрес e-mail как логин при регистрации

Автор orexov_m

Ответов: 51
Просмотров: 15999
Последний ответ 28.02.2024, 18:34:01
от nevigen
[Решено] - Заказ на одной странице

Автор shurakana

Ответов: 58
Просмотров: 20262
Последний ответ 16.03.2023, 09:53:16
от kit2m2
[Решено] Товар на замену в блоке с ценой

Автор dron

Ответов: 2
Просмотров: 3235
Последний ответ 13.04.2022, 16:09:53
от dron
[Решено] Разные шаблоны для разных статусов заказов

Автор nevigen

Ответов: 4
Просмотров: 5495
Последний ответ 04.04.2022, 19:45:58
от nevigen
(РЕШЕНО) Как в модуле фильтров вывести логотипы производителей?

Автор denxio

Ответов: 9
Просмотров: 3149
Последний ответ 24.05.2020, 19:22:12
от vitalicc