категории товара и список товара на одной странице

Тема в разделе "VirtueMart", создана пользователем dimongalant, 27.07.2011.

  1. Offline

    dimongalant Недавно здесь

    Регистрация:
    19.07.2011
    Сообщения:
    12
    Симпатии:
    1
    Пол:
    Мужской
    Задача такая:
    есть каталог товаров, в нем есть родительские категории и подкатегории. в родительских категориях товаров просто нет. дак вот, нужно чтобы при просмотре родительской категории на страницу выводился список всех товаров в дочерних категориях, а сверху уже были ссылки на сами подкатегории дочерние. как такое сделать?
    можно конечно просто забить в родительскую категорию копии всех товаров из дочерних, но это имха не выход, когда большой магазин и много товара то гемору много.

    Всё это я проделал на своём сайте по продаже фаллоимитаторов интим магазин можно посмотреть тута



    Часть IIб "Отображение товаров из подкатегорий произвольной вложенности (для ветки VM1.1.x)"
    В файле /administrator/components/com_virtuemart/html/shop.browse.php ищем строку
    $dbp = new ps_DB;
    Под ней добавляем:

    function getCatergoryChildsList( $clist, $catid ){
    $res_list = array( $catid );
    $search_childs = true;
    while( $search_childs ){
    $search_childs = false;
    foreach( $clist as $c_catid => $val ){
    if( in_array( $val['category_parent_id'], $res_list ) ){
    $res_list[] = $c_catid;
    unset( $clist[ $c_catid ] );
    $search_childs = true;
    }
    }
    }
    return $res_list;
    }
    $category_childs = '';
    if ( $category_id && $ps_product_category->has_childs($category_id) ){
    $category_childs = getCatergoryChildsList( $ps_product_category->getCategoryTreeArray(), $category_id );
    }



    Далее открываем /administrator/components/com_virtuemart/html/shop_browse_queries.php, находим код:

    } elseif( empty( $keyword ) && empty( $manufacturer_id )) {
    $where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=".$category_id;
    }

    меняем на немного подправленный нами:

    } elseif( empty( $keyword ) && empty( $manufacturer_id )) {
    if(!empty( $category_childs ))
    $where_clause[] = "`#__{vm}_product_category_xref`.`category_id` IN (".$category_id.",".implode(',',$category_childs).")";
    else
    $where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=".$category_id;
    }

    Сохраняем, проверяем...

    Всем удачи!


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

    подробнее http://joomlaforum.ru/index.php/topic,44112.30.html
     
    Последнее редактирование: 25.08.2011
  2.  

Поделиться этой страницей

Загрузка...