메뉴얼

EC-CUBE 2.x

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

by TheVOS posted Apr 10, 2019
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
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 [ko]댓글 

TAG •

  1. 클래스의 사용

    클래스의 사용

    인스턴스의 생성 클래스가 선언되고 나면, 선언된 클래스로부터 인스턴스를 생성할 수 있습니다. PHP에서는 new 키워드를 사용하여 인스턴스를 생성할 수 있습니다. 이때 클래스 이름을 통해 생성자로 필요한 인수를 전달할 수 있습니다. 문법 $객체이름 = new...
    Date2019.10.03 Category클래스 Views93
    Read More
  2. 클래스의 구조

    클래스의 구조

    클래스의 구조 PHP에서 클래스는 class 키워드를 사용하여 다음과 같이 선언합니다. 문법 class 클래스이름 { 클래스의 프로퍼티과 메소드의 정의; } PHP에서 클래스의 이름을 생성할 때는 반드시 다음 규칙을 지켜야만 합니다. 1. 클래스의 이름은 숫자와의 ...
    Date2019.10.03 Category클래스 Views35
    Read More
  3. 클래스와 객체의 기초

    クラス(class)とオブジェクト(object) オブジェクト(object)とは、実生活では、我々が認識することができるもので理解することができます。 これらのオブジェクトの状態(state)と行動(behavior)は、それぞれのプロパティ(property)とメソッド(met...
    Date2019.10.03 Category클래스 Views56
    Read More
  4. EC-CUBE:SC_FormParamクラスによるパラメーターチェック方法

    EC-CUBE:SC_FormParamクラスによるパラメーターチェック方法

    EC-CUBE에 대한 인터넷상에서 아직 정보가 많이 부족합니다. 예를 들어 플러그인 작성에 원래 폼을 만들어도 SC_FormParam 클래스 를 사용하여 어떻게 확인하면 좋은 것인지 조사해도 좀처럼 나오지 않습니다. 그래서 내가 독자적으로 조사한 속에서 조금씩 정...
    Date2019.10.03 CategoryEC-CUBE 2.x Views119
    Read More
  5. EC-CUBE2.12 運用マニュアル

    EC-CUBE ver2120 2121 2122 運用マニュアル1 Page EC-CUBE Ver2120 Ver2121 Ver2122 運用マニュアル 2012年11月28日 Thi s document is licensed under a Creative Commons 表示 - 継承 2 1 日本 License THEVOS ECO LAB Inc EC-CUBE ver2120 2121 212...
    Date2019.09.29 CategoryEC-CUBE 운용 설명서 Views62
    Read More
  6. 単体テストガイドライン

    単体テストガイドライン

    本ガイドラインはEC-CUBEの単体テストをPHPUnitを使って行う上でのガイドラインを株式会社SHIFT様(http://www.shiftinc.jp/)のご協力によりまとめたものとなります。 各クラス共通のガイドライン1. テストを含めたフォルダ構成テストコードを含んだフォルダ構...
    Date2019.09.28 CategoryEC-CUBE 2系 Views86
    Read More
  7. リファクタリングガイドライン

    リファクタリングガイドライン

    init 関数init 関数は, クラスの初期化を目的する. ビジネスロジックの記述はしないこと <?php function init() { /** * NG ビジネスロジックの記述はしない */ if (count($this->arrPayment) > 0) { $i = 0; foreach ($this->arrPayment as $val) { $this->pa...
    Date2019.09.28 CategoryEC-CUBE 2系 Views153
    Read More
  8. EC-CUBE標準規約

    EC-CUBE標準規約

    基本的に Zend Framework PHP 標準コーディング規約 に順ずる.以下, 要点及び相違点を規定する. また, コーディングに際して, 以下のガイドラインに沿うことが望ましい EC-CUBE標準規約 > リファクタリングガイドライン PHPUnitを利用した単体テストを行う際は...
    Date2019.09.28 CategoryEC-CUBE 2系 Views154
    Read More
  9. デフォルトのtitleを任意のものに変更する方法

    EC-CUBE 3.Xでデフォルトでtitle部分に表示されるものを任意で削除・変更したり、あらかじめ用意されているページのページ名(テンプレート名)を任意のものに変更する方法です。 ※紹介している内容はEC-CUBEのVersion 3.0.10で動作確認したもので、デフォルト...
    Date2019.04.10 CategoryEC-CUBE 3.x Views227
    Read More
  10. titleの並びや区切り記号を変更する方法

    EC-CUBE 3.Xは、デフォルトのテンプレートだとtitle表示が「ショップ名 / ページ名」という形になっていますが、それを任意の並びにしたり区切り記号を変更したりする方法です。 ※紹介している内容はEC-CUBEのVersion 3.0.10で動作確認したもので、デフォルト...
    Date2019.04.10 CategoryEC-CUBE 3.x Views95
    Read More
  11. 商品数や階層に関係なく全カテゴリーを表示させる方法

    EC-CUBEの備忘録。デフォルトのテンプレートだとサイドに表示されている商品カテゴリーですが、商品登録がない場合はカテゴリー名が表示されず、商品が登録されていたとしても親カテゴリーのページでなければ子カテゴリー名は表示されないようになっています。...
    Date2019.04.10 CategoryEC-CUBE 2.x Views260
    Read More
  12. 商品名などで長くなったテキストを省略する方法

    引き続きEC-CUBEの備忘録です。商品のタイトルや紹介文が指定した文字数以上になったときに「...」などを表示して、見栄えを揃える方法です。jQueryを使うとかCSSのtext-overflowなんかでも同じ事はできますが、Smartyを使って実装するものになります。 ※EC-CU...
    Date2019.04.10 CategoryEC-CUBE 2.x Views45
    Read More
  13. サイトデザインをPCで統一させる方法

    EC-CUBEはもともとスマートフォンやモバイル用のテンプレートが用意されており、それぞれのデバイスで閲覧すると各テンプレートに振り分けらるようになっているのですが、それを無効にする方法です。この機能自体は良いと思うのですが、例えばモバイルまで手が...
    Date2019.04.10 CategoryEC-CUBE 2.x Views52
    Read More
  14. 商品ステータスを変更・追加する方法

    EC-CUBE自体をまだあまり触ったこともなければ、そんなに頻繁に使わないのもあって、しばらくすると簡単なことでもいろいろと忘れてしまうので備忘録。デフォルトだと「NEW」とか「残りわずか」などで登録されている商品ステータスを任意のものに変更・追加す...
    Date2019.04.10 CategoryEC-CUBE 2.x Views62
    Read More
  15. 新規作成したページURLから「user_data」を消す方法とURLを出力するテンプレートタグ

    EC-CUBE 3.Xではもともと用意されているページを利用するだけでなくオリジナルで新規ページを追加することもできるのですが、その場合作成したページのURLに「user_data」が付与されています。この「user_data」という部分をURLから消す方法とそれに関連して新...
    Date2019.04.10 CategoryEC-CUBE 3.x Views856
    Read More
  16. 메일 사용자 설명서

    메일 사용자 설명서

    원 포인트 가이드메일 소프트에 다음 정보를 설정하십시오. 메일 서버 (POP)sv11.star.ne.jp메일 서버 (SMTP)sv11.star.ne.jp계정 (사용자 이름)만든 계정 이름 (@이후도 포함)비밀번호설정 한 패스워드
    Date2019.03.29 Category메일 서비스 Views61
    Read More
  17. 페이스북위젯 삽입하기

    페이스북 위젯을 삽입하는 방법을 알아보겠습니다. 1. 페이스북 위젯을 설정하는 곳으로 갑니다. ( https://developers.facebook.com/docs/plugins/page-plugin ) 2. 원하는 위젯모양을 만듭니다. 밑의 이미지를 보시면 쉽게 이해가 되실꺼예요. 3. 설정이 끝...
    Date2018.12.15 Category팁 & 노하우 나눔 Views45
    Read More
  18. 구글 캘린더 합치기

    구글 캘린더로 일정관리를 하는 사람이라면 한번쯤 여러개로 나눠진 캘린더를 하나로 합쳐야 할 때가 생깁니다. 저같은 경우는 처음에 일정관리에 심취해서 캘린더 수를 아주 자세하게 여러개로 나눠 놨었죠. 그러나 최근에서야 단순함의 미학과 효율성에 눈을...
    Date2018.12.12 Category팁 & 노하우 나눔 Views425
    Read More
  19. THEVOS Youtube BOARD SKIN 사용 설명

    THEVOS Youtube BOARD SKIN 사용 설명

    [ 스킨 기능 ] - 사용자 정의 자동추가 게시판 스킨을 "INSP 유튜브"으로 변경하고 사용자정의 eid(dex_embed_srl)가 없을겨우 자동으로 추가됨 - 기존게시판에서도 사용가능 ㄴ 게시판에 필요한 사용자 정의는 "thevos_extv_youtube_code" 이다. ㄴ 하지만 sk...
    Date2018.11.11 Category메뉴얼 Views116
    Read More
Board Pagination Prev 1 2 Next
/ 2