EC-CUBE 2.x

商品数や階層に関係なく全カテゴリーを表示させる方法

by TheVOS posted Apr 10, 2019
?

Shortcut

Prev前へ 書き込み

Next次へ 書き込み

Larger Font Smaller Font 上へ 下へ Go comment 印刷 添付
?

Shortcut

Prev前へ 書き込み

Next次へ 書き込み

Larger Font Smaller Font 上へ 下へ Go comment 印刷 添付
Extra Form
原文出所 https://www.nxworld.net/cms/ec-display-all-categories.html
EC-CUBE 2.X:商品数や階層に関係なく全カテゴリーを表示させる方法

EC-CUBEの備忘録。
デフォルトのテンプレートだとサイドに表示されている商品カテゴリーですが、商品登録がない場合はカテゴリー名が表示されず、商品が登録されていたとしても親カテゴリーのページでなければ子カテゴリー名は表示されないようになっています。
これを商品数や表示ページに関わらず、すべてのカテゴリーを常に全表示させる方法です。

※EC-CUBEのバージョンはVersion 2.12.4で動作確認しています。

カテゴリーが全て表示されない

画像はデフォルトのテンプレートのトップページをキャプチャしたものです。
現在表示されているのはサンプルとして予め登録されている「食品」と「レシピ」という2つのカテゴリーですが、実は表示されてないだけで「雑貨」というカテゴリーも予め登録されています。
また「食品」というカテゴリーですが、こちらは予め「なべ」と「お菓子」という子カテゴリーが登録されています。

実際存在しているカテゴリーなのに表示されないのは、「雑貨」の場合は商品が登録されていないため。
「なべ」と「お菓子」の場合は、親となる「食品」ページではなく現在トップページを表示しているという理由で、それぞれカテゴリーが表示されないようになっています。
これを常に全てのカテゴリーが表示されるようにする方法です。

まず/data/Smarty/templates/default/frontparts/bloc内のcategory.tplを変更します。

category.tpl

<!--{if $arrTree[cnt].display == 1}-->

37行目辺り(ライセンスコメント含め)に「表示フラグがTRUEなら表示」というコメントがあり、そのすぐ下に上記のような記述があると思います。
これを下記のハイライト表示部分のようにor trueを追記したものにします。

category.tpl

<!--{if $arrTree[cnt].display == 1 or true}-->

ここまで行い表示を確認すると、先ほどはトップページでは出ていなかった子カテゴリーも表示されるようになります。
次に商品数がない場合でもカテゴリーが表示されるようにします。
/data/class/pages/frontparts/bloc内のLC_Page_FrontParts_Bloc_Category.phpを変更します。

LC_Page_FrontParts_Bloc_Category.php

$this->arrTree = $this->lfGetCatTree($this->tpl_category_id, true);

74行目辺り(ライセンスコメント含め)に「カテゴリツリーの取得」というコメントがあり、そのすぐ下に上記のような記述があると思います。
これを以下のハイライト表示部分のように、trueとなっていたものをfalseに変更します。

LC_Page_FrontParts_Bloc_Category.php

$this->arrTree = $this->lfGetCatTree($this->tpl_category_id, false);
カテゴリーが全て表示される

上記それぞれを変更して表示確認すると、画像のように先ほどは表示されていなかったカテゴリーが全て表示されるようになっているのを確認できます。

Facebook [ja]コメント 

TAG •

List of Articles
カテゴリー 番号 タイトル 日付 閲覧数
ヒント&ノウハウ共有 39 페이스북위젯 삽입하기 file 2018.12.15 69
クラス 38 클래스의 사용 2019.10.03 110
クラス 37 클래스의 구조 2019.10.03 55
クラス 36 클래스와 객체의 기초 file 2019.10.03 76
メールサービス 35 메일 사용자 설명서 2019.03.29 125
ヒント&ノウハウ共有 34 구글 캘린더 합치기 1 file 2018.12.12 533
EC-CUBE 3系 33 관리 화면의 사이드 메뉴에 항목 추가하는 방법 file 2019.11.11 187
EC-CUBE 4系 32 管理機能一覧 2020.11.12 50
EC-CUBE 3.x 31 新規作成したページURLから「user_data」を消す方法とURLを出力するテンプレートタグ file 2019.04.10 1221
EC-CUBE 2.x » 商品数や階層に関係なく全カテゴリーを表示させる方法 file 2019.04.10 275
EC-CUBE 2.x 29 商品名などで長くなったテキストを省略する方法 file 2019.04.10 69
EC-CUBE 2.x 28 商品ステータスを変更・追加する方法 file 2019.04.10 82
EC-CUBE 2系 27 単体テストガイドライン 2019.09.28 131
EC-CUBE 2系 26 リファクタリングガイドライン 2019.09.28 187
EC-CUBE 4系 25 フロント機能一覧 2020.11.12 48
EC-CUBE 3.x 24 デフォルトのtitleを任意のものに変更する方法 file 2019.04.10 247
EC-CUBE 2.x 23 サイトデザインをPCで統一させる方法 file 2019.04.10 74
EC-CUBE 2系 22 イベントセット販売プラグインマニュアル file 2019.11.07 158
EC-CUBE 3.x 21 titleの並びや区切り記号を変更する方法 file 2019.04.10 114
マニュアル 20 THEVOS Youtube BOARD SKIN 사용 설명 2018.11.11 133
Board Pagination Prev 1 2 Next
/ 2