【EC-CUBE2】非公開カテゴリーの作成

一部カテゴリーを非表示としたい(特別会員専用ページのようなもの)

要件は下記のような感じ
・カテゴリーID指定であれば一覧を表示
・全商品一覧には表示しない
・キーワード検索では表示しない
・対象カテゴリーの一覧、商品にはmetaタグで検索エンジンにindexされないようにする。
・カテゴリー一覧に表示されないようにする

■検索処理の修正
修正ファイル
/data/config/config.php
/data/class/pages/products/LC_Page_Products_List.php

▼config.php

ここに会員専用カテゴリーの値を設定する。
配列をsirialize化した値を設定する。

カテゴリーIDが10の場合は下記の配列になる。
array(0=>10);
これをsirialize化すると上記のような値になります。

▼LC_Page_Products_List.php

404行目のlfGetSearchConditionメソッドに処理を追加します。
下記の処理に追加します。

これで全商品一覧、キーワード検索で対象商品が出てこなくなります。

■カテゴリー一覧の修正
カテゴリが自動生成されるので生成されないように処理を追加
/data/Smarty/templates/default/frontparts/bloc/category.tpl
/data/Smarty/templates/sphone/frontparts/bloc/category.tpl

必要あればガラケーのテンプレートも修正
/data/Smarty/templates/mobile/frontparts/bloc/category.tpl

まずはconfig.phpに設定したカテゴリーIDの値をテンプレートに渡します。
* 29行目付近の</script>の後に追記

指定カテゴリーでなければ表示という処理を追加

下記のような感じ

■metaタグの埋め込み
/data/Smarty/templates/default/site_frame.tpl

以下のコードを埋め込み

以上です。