とりあえず「最下層の 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で非表示にできると思います。











