BLOG

Вывод подкатегории в модуле категории Joomshopping

Вывод подкатегории в модуле категории Joomshopping

Для того, чтобы модуль вывода категорий товаров в JoomShopping, выводил не только категории, а и подкатегории, проделываем следующий трюк.

Ищем файл: http://ваш_сайт/modules/mod_jshopping_categories/helper.php

Перед тем как изменять какой-то файл, обычно я сохраняю оригинальный как "_old", например helper_old.php. Всегда потом можно вернуться назад, если что-то пошло не так.

Выглядит он примерно так:

< ? php
class jShopCategoriesHelper{
// ВОТ СЮДА БУДЕМ ВСТАВЛЯТЬ КОД ................ 

public static 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; 
}

}

 // ВОТ ДО СЮДА ВСЕ СТИРАЕМ И ВМЕСТО ЭТОГО ВСТАВЛЯЕМ КОД
 

public static 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;
}

}
? >

Место, куда будем вставлять код, обозначено. Все что между моими надписями БОЛЬШИМИ БУКВАМИ, необходимо стереть. И в это место вставить код:

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);
}
}

Файлы helper могут немного отличаться, главное увидеть, что код вставляем ДО public static function getCatsArray.

Теперь модуль вывода категорий JoomShopping, станет выводить и подкатегории.

web7pc.com
Precios para: Crear pagina web | Crear Tiendas Online | Posicionamiento SEO
Comprar robots para: Milanuncios | Vibbo | A medida
Otras preguntas pincha:  AQUÍ

Убедитесь, что Вы ввели всю требуемую информацию, в поля, помеченные звёздочкой (*). HTML код не допустим.