とりあえず「最下層の category_id が 5 の商品は商品一覧で表示したくない!」という前提で、
カスタマイズをしてみたいと思います。
data/class/pages/products/LC_Page_Products_List.php の lfGetProductsList メソッドで、
「category_id=5 を含む商品情報を配列から削除」以下の6行のコードを追加。
// 表示すべきIDとそのIDの並び順を一気に取得 $arrProductId = $objProduct->findProductIdsOrder($objQuery, array_merge($searchCondition['arrval'], $arrOrderVal)); $objQuery =& SC_Query_Ex::getSingletonInstance(); $arrProducts = $objProduct->getListByProductIds($objQuery, $arrProductId); // category_id=5 を含む商品情報を配列から削除 foreach($arrProducts as $arrProduct){ $arrCategoryId = SC_Helper_DB_Ex::sfGetCategoryId($arrProduct['product_id']); if(in_array(5, $arrCategoryId)){ unset($arrProducts[$arrProduct['product_id']]); } } // 規格を設定 $objProduct->setProductsClassByProductIds($arrProductId); $arrProducts['productStatus'] = $objProduct->getProductStatus($arrProductId); return $arrProducts;
in_array の第一引数を適当に変えれば、任意のカテゴリIDで非表示にできると思います。