• 楽天
  • Yahoo!

【楽天ショップ用】クリックで下層が出現するアコーディオンカテゴリの作り方

(※この記事は、2015年9月14日投稿のオガレポを再掲しています。)

20150914_main

こんにちは。カロリーメイトチョコ味とオレンジジュースを同時に口に含むと吐◯物の味になります、オガリア中村です。試してみようと思った方は変態ですよ。

今日は「クリックしたらスルっと出てくるカテゴリ一覧」を作ってみます。
(意識高い系に言い換えるとアコーディオンカテゴリ、スライドダウンカテゴリ、ドロップダウンカテゴリと呼びます。)

楽天ショップでのみ動作確認済みです。Yahoo!ストアでは検証できてないです、、、ゴメンなさい。。

こちらの記事を参考にしました。

デモ

デモ画面で動作を見る

↓こんな感じのデザインで完成します。↓

RMSへの貼付けだけで完了!(ただしデメリット有り)

楽天GOLDってなんだ、CSSファイルってなんだ、という方向けに
今回はRMS内への貼付けで完了する方法にしてみましたよ。

・・・がががGA!

Internet Explorer9以下はアコーディオンが作動しません。。
クリック前の初期状態で全カテゴリが見える状態になります。予めご承知くださいまっせ。

設置方法

コピペだけで済みますよ~!

  1. 次のタグを全てコピーします。

    オレンジ文字部分は適宜ご編集ください。

    <style type="text/css">
    <!--
    
    .category {
      width: 200px; /*全体の横幅*/
      border: 1px solid #333;
      font-size: 12px;
    }
    
    .category label {
        background: #333;
        color: #fff;
        padding: 12px;
        display: block;
        margin: 0;
        cursor: pointer;
        border-top: 1px solid #ccc;
    }
    
    .category label:first-child {
      border-top: none;
    }
    
    .category input.switch{
        display: none;
    }
    
    .category ul {
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -ms-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s;
        margin: 0;
        padding: 0;
        list-style: none;
    }
    
    .category li {
        border-top: 1px dashed #ddd;
        padding: 12px 8px 12px 24px;
    }
    
    .category li:first-child {
        border-top: none;
    }
    
    .category li:before {
        content: ">";
        font-size: 9px;
        font-weight: bold;
        color: #ccc;
        margin-right: 8px;
    }
    
    .category input.switch + ul{
        height: 240px; /*クリックして出てくる高さ*/
        overflow: hidden;
    }
    
    .category input.switch:not(:checked) + ul{
        height: 0;
    }
    
    .category input.switch:checked + ul{
        height: 240px; /*クリックして出てくる高さ*/
    }
    
    -->
    </style>
    
    <div class="category">
        <label for="category-1">カテゴリー1</label>
        <input type="checkbox" id="category-1" class="switch" />
        <ul>
            <li><a href="">下カテゴリ</a></li>
            <li><a href="">下カテゴリ</a></li>
            <li><a href="">下カテゴリ</a></li>
            <li><a href="">下カテゴリ</a></li>
            <li><a href="">下カテゴリ</a></li>
        </ul>
        <label for="category-2">カテゴリー2</label>
        <input type="checkbox" id="category-2" class="switch" />
        <ul>
            <li><a href="">下カテゴリ</a></li>
            <li><a href="">下カテゴリ</a></li>
            <li><a href="">下カテゴリ</a></li>
            <li><a href="">下カテゴリ</a></li>
            <li><a href="">下カテゴリ</a></li>
        </ul>
        <label for="category-3">カテゴリー3</label>
        <input type="checkbox" id="category-3" class="switch" />
        <ul>
            <li><a href="">下カテゴリ</a></li>
            <li><a href="">下カテゴリ</a></li>
            <li><a href="">下カテゴリ</a></li>
            <li><a href="">下カテゴリ</a></li>
            <li><a href="">下カテゴリ</a></li>
        </ul>
    </div>
  2. RMSに貼付ければ、完了!
    (RMSメインメニュー > デザイン設定 > ヘッダー・フッターレフトナビ、レフトナビ部)
    20150911_img1

   

ブランド別やサイズ別など、カテゴリの登録内容がかなり多いショップ様にオススメです。
レフトナビだけが縦に伸びていくのを防ぐことが出来ます。

こんなデザインが欲しい!などご要望あれば教えてくださいませ~

この記事を書いた人

中村 茉実

中村 茉実ディレクター

元楽天ショップ店長やってました。歩くときに他人との距離感が掴めないところがあり、よくオジサンのかかとを踏んでしまいます。

この記事のあとによく読まれています!

繁盛レシピの人気記事3選!

コメント

9 件のコメント

  • 宮本 知明 より:

    貴重な情報をありがとうございます。 いま”【楽天ショップ用】クリックで下層が出現するアコーディオンカテゴリの作り方”を参考にして レフトナビを 作成しているのですが 親カテゴリーにつき 下カテゴリーが5個と固定されているみたいで、 例えば 親につき 下が2カテゴリーしかない場合 3個分の空白ができ。
    また、下カテゴリーが8つある場合は下の3下カテゴリーが表示されない 具合になります。 この下カテゴリー数に合わせて 枠を設定するには どこをさわれば良いのでしょうか? よろしくお願いいたします。

    • 中村 茉実 中村 茉実 より:

      宮本様

      お世話になります、オーガランド中村です。ご質問ありがとうございます!

      > この下カテゴリー数に合わせて 枠を設定する

      こちら、以下箇所のご変更により適用が可能です。

      ▼変更箇所
      「.category input.switch:checked + ul」という箇所の値を「height: **px」から「height: auto;」へ変更する。

      但しこの場合、クリック時に下層が「するっと表示される」アニメーションを表現する事が出来ません。クリックした瞬間に下層が表示される見え方となります。。(RMS内へアコーディオンカテゴリを実装する場合、RMS側の仕様により実装できる内容に制限があり、この様な形となってしまうのが実情です。)

      ご確認のほど宜しくお願いいたします。

  • 宮本 知明 より:

    出来ました ありがとうございます!!

  • 松尾卓也 より:

    記事を拝見させて頂きました。
    とても勉強になります。このような情報を公開して頂き本当にありがたいと思っております。
    一点質問なのですが、多階層のメニュー(親、子、孫の3階層)を作る場合はどこを、どういじるのが良いのでしょうか?
    もしご存知であればご教授頂ければ幸いです。

    • 中村 茉実 中村 茉実 より:

      松尾様

      お世話になっております、オーガランドの中村です。
      ご質問ありがとうございます!また記事をご参考頂き大変嬉しいです。

      > 多階層のメニュー(親、子、孫の3階層)を作る場合

      こちら実現は可能なのですが、構造の理解とデザインの調整が多少必要となってしまいそうです。
      とり急ぎ以下にご案内致します。

      HTMLでは以下の構造で実装が可能です。

      ▼現在の、「親+子」階層の状態

      <label for="category-1">親カテゴリ1</label>
      <input type="checkbox" id="category-1" class="switch">
      <ul>
        <li>子カテゴリ</li>
        <li>子カテゴリ</li>
      </ul>
      

      ▼「親+子+孫」階層にした状態

      <label for="category-1">親カテゴリ1</label>
      <input type="checkbox" id="category-1" class="switch">
      <ul>
        <li>
          <label for="category-1-1">子カテゴリ1</label>
          <input type="checkbox" id="category-1-1" class="switch">
          <ul>
            <li>孫カテゴリ</li>
          </ul>
        </li>
      </ul>
      

      label/input/ulのタグが1セットになっていますので、それを入れ子にすれば実現できます。
      ご説明が難しく、、分からない所あればご質問くださいませ^^;

      尚、以下記事にて別のデザインもご提供しています。宜しければご参考くださいませ。
      http://recipe.oga-ria.com/shop_modify/5278

  • 横山 より:

    いつもタメになる記事をありがとうございます
    「クリックで下層が出現するアコーディオンカテゴリの作り方」を参考にレフトナビにカテゴリを作成してみました。
    見本のHTMLではカテゴリが3つまででしたが、足して5つの大カテゴリを作成しました。
    が、、、4つめと5つ目がクリックしてもひらいてくれません
    何か別で編集が必要でしょうか?

    • 中村 茉実 中村 茉実 より:

      横山様

      お世話になっております、オーガランドの中村です。
      ご質問ありがとうございます。また記事もご参考頂きありがとうございます!

      > 4つめと5つ目がクリックしてもひらいてくれません

      カテゴリーを増やした場合、以下赤文字欄の調整が必要です。

          <label for="category-3">カテゴリー3</label>
          <input type="checkbox" id="category-3" class="switch" />
      

      4つめのカテゴリであれば「category-4」などに変えて頂ければ分かり易いと思います。
      こちらで上手くいかない場合は恐れ入りますが、該当のHTMLソースをご連絡くださいませー!

      宜しくお願い致します。

コメントはお気軽にどうぞ

セキュリティチェック *

内容をご確認の上、送信してください。