FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

Debutテーマ パンくずリストを表示したい

解決済

Debutテーマ パンくずリストを表示したい

Aa16
遊覧客
33 0 5

Debut テーマを使っています。

パンくずリストを表示したいです。

 

こちらのサイトを参考に、

コピペでできるのかな… と期待しています。

(https://hon-dana.org/online-shop/bread-crumbs-shopify/)

 

サイト内では、106行目に貼り付けとあります。

Debut テーマで、メインメニューの下にパンくずリストを表示させる場合。

どのようなコードの後に、貼り付けるべきか、教えていただきたいです。

 

よろしくお願いします。

 

1 件の受理された解決策
Qcoltd
Shopify Partner
1096 447 441

成功

挿入いただいたコードを、

{% assign menu = linklists.main-menu %}
<a href="/">Home </a>
{% for link in menu.links %}
    {% if link.active or link.child_active %} <a href={{link.url}}> > {{ link.title }}</a> {% endif %}
  {% for sub_link in link.links %}
    {% if sub_link.active or sub_link.child_active %}> <a href={{sub_link.url}} > {{ sub_link.title }}</a> {% endif %}
	{% for sub_sub_link in sub_link.links %}
    {% if sub_sub_link.active %} > <a href={{sub_sub_link.url}} > {{ sub_sub_link.title }}</a> {% endif %}
	{% endfor %}
  {% endfor %}
{% endfor %}

 

下記のようにされてはいかがでしょうか?

{% assign menu = linklists.main-menu %}
{% for link in menu.links %}
    {% if link.active or link.child_active %}<span aria-hidden="true">&rsaquo;</span> 
 <a href={{link.url}}>{{ link.title }}</a> {% endif %}
  {% for sub_link in link.links %}
    {% if sub_link.active or sub_link.child_active %}<span aria-hidden="true">&rsaquo;</span><a href={{sub_link.url}} >{{ sub_link.title }}</a> {% endif %}
	{% for sub_sub_link in sub_link.links %}
    {% if sub_sub_link.active %}<span aria-hidden="true">&rsaquo;</span><a href={{sub_sub_link.url}} >{{ sub_sub_link.title }}</a> {% endif %}
	{% endfor %}
  {% endfor %}
{% endfor %}

 

パンクズの「>」のHTMLも少し変えてあります。

 

例によって、動作確認はしておりませんので、ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/

元の投稿で解決策を見る

11件の返信11

Qcoltd
Shopify Partner
1096 447 441

参考URLのやり方でうまく動くかの確認はしておりませんが、

 

layout/theme.liquidでしたら、

{% section 'header' %}

の下、205行目あたりにコードを挿入されると良いかと思います。

 

もしくは、

sections/header.liquidの

<script type="application/ld+json">

の上、257, 258行目でも挿入位置としては問題ないように思われます。

 

 

なお、今からストア構築をされるのでしたら、

Debutではなく、Shopifyの最新のテーマであるDawnの方をおすすめいたします。

https://themes.shopify.com/themes/dawn/styles/default?architecture%5B%5D=os2&locale=ja

 

コード挿入に関しては動作確認などしていないため、うまくいかない可能性がありますので、

あくまで参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/
Aa16
遊覧客
33 0 5

ありがとうございます。

 

試してみました。

パンくずリスト、表示はされたのですが...

 

ページやプロダクトは、きれいな階層表示です。

一方で、ブログは階層表示がなく、「ホーム」という表示だけです。

 

そこで...

このような記事を見つけました。

Shopifyで階層のあるパンくずリストを実装【サンプルコードあり】|liquid note | 初学者向けShopify情報ブログ (ikdlog.com)

 

記事内では、新しくbreadcrumb.liquidを作るようにあります。

 

snippetsフォルダ>新しいsnippetを追加する>breadcrumb.liquid ファイルを作り、

コードをコピペしました。

しかし、パンくずリストが表示されません。

 

当方の手順が異なるのでしょうか?

アドバイスいただけると、ありがたいです。

 

どうぞ、よろしくお願いします。

Qcoltd
Shopify Partner
1096 447 441

返信遅くなりました。

 

ご記載の参考記事の、breadcrumb.liquid を作るの部分は、

記事内のリンクを拝見するに、「Simple」というテーマを前提にしたお話に見受けられました。

他のテーマでは、breadcrumb.liquid を読み込む必要があるのではないでしょうか?

 

{% render 'breadcrumb' %}

{% include 'breadcrumb' %}

を、

私の前回の回答に記載した場所に設置してみてはどうでしょうか?

(※ renderで動くのであればrenderを使った方がいいです。https://shopify.dev/api/liquid/tags/theme-tags#render)

 

ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/
Aa16
遊覧客
33 0 5

ありがとうございます。

ここまでのアドバイスを踏まえ、このように行いました。

備忘録として、残しておきます。

 

その上で、2点お伺いしたいです。

 

1)snippetsフォルダ>新しいsnippetを追加する>breadcrumb.liquid ファイルを作る

2)下記コードをコピーする

{% unless template == 'index' or template == 'cart' or template == 'list-collections' %}
<nav class="breadcrumb" role="navigation" aria-label="breadcrumbs">
<a href="/" title="Home">Home</a>
{% if template contains 'page' %}
<span aria-hidden="true">&rsaquo;</span>
<span>{{ page.title }}</span>
{% elsif template contains 'product' %}
{% if collection.url %}
<span aria-hidden="true">&rsaquo;</span>
{{ collection.title | link_to: collection.url }}
{% endif %}
<span aria-hidden="true">&rsaquo;</span>
<span>{{ product.title }}</span>
{% elsif template contains 'collection' and collection.handle %}
<span aria-hidden="true">&rsaquo;</span>
{% if current_tags %}
{% capture url %}/collections/{{ collection.handle }}{% endcapture %}
{{ collection.title | link_to: url }}
<span aria-hidden="true">&rsaquo;</span>
<span>{{ current_tags | join: " + " }}</span>
{% else %}
<span>{{ collection.title }}</span>
{% endif %}
{% elsif template == 'blog' %}
<span aria-hidden="true">&rsaquo;</span>
{% if current_tags %}
{{ blog.title | link_to: blog.url }}
<span aria-hidden="true">&rsaquo;</span>
<span>{{ current_tags | join: " + " }}</span>
{% else %}
<span>{{ blog.title }}</span>
{% endif %}
{% elsif template == 'article' %}
<span aria-hidden="true">&rsaquo;</span>
{{ blog.title | link_to: blog.url }}
<span aria-hidden="true">&rsaquo;</span>
<span>{{ article.title }}</span>
{% else %}
<span aria-hidden="true">&rsaquo;</span>
<span>{{ page_title }}</span>
{% endif %}
</nav>
{% endunless %}

 

3)2)に貼り付ける

4)sections>header.liquid ファイルを開く

5)<script type="application/ld+json"> を探す

6)5)の上に {% render 'breadcrumb' %} を貼り付ける。

Aa16
遊覧客
33 0 5

お伺いしたい2点...

1)階層表示について

ブログ、プロダクトは、きれいな階層表示で満足しています。

気になるのは、ページの表示階層です。

 

希望は、Home>フォルダ名>ページタイトル の表示です。

現在は、フォルダ名を飛ばしています。

ここを解決したいです。

 

2)パンくずリストが表示される上部に、少し余白を入れたい (可能であれば)

 

どうぞ、よろしくお願いします。

Qcoltd
Shopify Partner
1096 447 441

希望は、Home>フォルダ名>ページタイトル の表示です。


ページにフォルダを作成する機能はないように思いますので、

フォルダ名、というのが何を意味するのかがわかっていないのですが、

例えば、

Home > ページ > {{ ページタイトル }}
とされたいのでしたら、

下記を、

  {% if template contains 'page' %}
    <span aria-hidden="true">&rsaquo;</span>
    <span>{{ page.title }}</span>

 
下記のようにされてはいかがでしょうか? (動作確認はしておりません。)

  {% if template contains 'page' %}
    <span aria-hidden="true">&rsaquo;</span>
        <span>ページ</span>
    <span aria-hidden="true">&rsaquo;</span>
    <span>{{ page.title }}</span>

 

しかし、この場合、「ページ」に設定できるリンクは存在しません。

ページの一覧ページは存在しないからです。( /pages/ にアクセスしても一覧は表示されません)

 

 

2)パンくずリストが表示される上部に、少し余白を入れたい (可能であれば)

 

どのようにCSSを管理されているか分かりませんので、雑なやり方になってしまいますが、(おすすめできる方法でありません。)

 

<nav class="breadcrumb" role="navigation" aria-label="breadcrumbs">

<nav class="breadcrumb" role="navigation" aria-label="breadcrumbs" style="margin-top:10px">

とされれば余白が入るはずです。(動作確認はしていません。)

 

margin-top:10pxの10pxの部分の数値を大きくすれば余白が大きくなり、小さくすれば余白が小さくなります。

 

なお、

他にもご要望があり、その形に近づけられたい場合は、

Shopifyの制作を請け負っている会社様にご依頼いただいた方が良いかと思います。

 

ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/
Aa16
遊覧客
33 0 5

ありがとうございます。

 

フォルダ名と認識していたもの...

正式には、メニュー項目でした。

 

メインメニュー>メニュー項目>ページ といった順で

パンくずリストに表示させたい、という要望でした。

Qcoltd
Shopify Partner
1096 447 441

メニューとおっしゃられているのは、

Shopify管理画面で設定できるメニューのことでしょうか?

(管理画面 > オンラインストア > メニュー)

 

おそらく合っていると思いますので、それを前提に回答いたします。

 

元々、使用されていたコードの下記の部分のうち

 

  {% if template contains 'page' %}
    <span aria-hidden="true">&rsaquo;</span>
    <span>{{ page.title }}</span>
  {% elsif template contains 'product' %}

 

 

    <span aria-hidden="true">&rsaquo;</span>
    <span>{{ page.title }}</span>

を削除し、代わりに、 

質問者様が参考にされているサイト様で紹介されている下記のコードを差し込んでみてはいかがでしょうか?

 

 

{% assign menu = linklists.main-menu %}
<a href="/">Home </a>
{% for link in menu.links %}
    {% if link.active or link.child_active %} <a href={{link.url}}> > {{ link.title }}</a> {% endif %}
  {% for sub_link in link.links %}
    {% if sub_link.active or sub_link.child_active %}> <a href={{sub_link.url}} > {{ sub_link.title }}</a> {% endif %}
	{% for sub_sub_link in sub_link.links %}
    {% if sub_sub_link.active %} > <a href={{sub_sub_link.url}} > {{ sub_sub_link.title }}</a> {% endif %}
	{% endfor %}
  {% endfor %}
{% endfor %}

 

 

 

例によって、動作確認はしておりませんので、参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/
Aa16
遊覧客
33 0 5

! ! !

 

ありがとうございます。

希望通りの表示になりました。

 

最後に一点だけ、お付き合いいただけませんか?

ブログ、プロダクトはきれいに表示されています。

HOME>階層>ブログ記事orプロダクト

 

ページのパンくずリストのみ、次のように表示されます。

HOME HOME >階層>ページ

 

HOME の重複表示は、どこで修正できますか?

 

申し訳ありませんが、よろしくお願いします。

Qcoltd
Shopify Partner
1096 447 441

成功

挿入いただいたコードを、

{% assign menu = linklists.main-menu %}
<a href="/">Home </a>
{% for link in menu.links %}
    {% if link.active or link.child_active %} <a href={{link.url}}> > {{ link.title }}</a> {% endif %}
  {% for sub_link in link.links %}
    {% if sub_link.active or sub_link.child_active %}> <a href={{sub_link.url}} > {{ sub_link.title }}</a> {% endif %}
	{% for sub_sub_link in sub_link.links %}
    {% if sub_sub_link.active %} > <a href={{sub_sub_link.url}} > {{ sub_sub_link.title }}</a> {% endif %}
	{% endfor %}
  {% endfor %}
{% endfor %}

 

下記のようにされてはいかがでしょうか?

{% assign menu = linklists.main-menu %}
{% for link in menu.links %}
    {% if link.active or link.child_active %}<span aria-hidden="true">&rsaquo;</span> 
 <a href={{link.url}}>{{ link.title }}</a> {% endif %}
  {% for sub_link in link.links %}
    {% if sub_link.active or sub_link.child_active %}<span aria-hidden="true">&rsaquo;</span><a href={{sub_link.url}} >{{ sub_link.title }}</a> {% endif %}
	{% for sub_sub_link in sub_link.links %}
    {% if sub_sub_link.active %}<span aria-hidden="true">&rsaquo;</span><a href={{sub_sub_link.url}} >{{ sub_sub_link.title }}</a> {% endif %}
	{% endfor %}
  {% endfor %}
{% endfor %}

 

パンクズの「>」のHTMLも少し変えてあります。

 

例によって、動作確認はしておりませんので、ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/
Aa16
遊覧客
33 0 5

 

希望通りの表示になりました!

お忙しいところ、

お付き合いいただきありがとうございました。