Dawnを利用しています。
すべての商品タグをセクションに一覧表示するところまでは実装できましたが、商品タグの数が100個ほどあって多いので、出力数を30までなどに絞って、「さらに表示」のボタンを押すと全ての商品タグが表示されるような仕組みに改善したいと思っています。
商品タグの出力数をコントロールする方法が調べてもたどり着けなかったのでアドバイス頂けると助かります。
現状のSectionsフォルダに作成済みのliquidファイルの中身を最下に記載します。
- 内の「tag_array」の配列の数を >30 などで指定して、条件分岐する方法で検討しましたが、配列の数を取得して条件設定する方法がわかりませんでした。
そもそもこの方法でできるのかも不明なので、もし他の方法があればご教示頂けると幸いです。
よろしくお願いいたします。
## {{ section.settings.title | escape }}
{% assign tag_list = "" %}
{% for product in collections.all.products %}
{% for tag in product.tags %}
{% assign tag_list = tag_list | append: "," | append: tag %}
{% endfor %}
{% endfor %}
{% assign tag_list = tag_list | remove_first: "," %}
{% assign tag_array = tag_list | split: "," | uniq %}
{% for tag in tag_array %}
- #{{ tag }}
{% endfor %}
{% schema %}
{
"name": "タグ表示",
"tag": "section",
"settings": [
{
"type": "text",
"id": "title",
"default": "香りから選ぶ",
"label": "見出し"
},
{
"type": "color",
"id": "background-tag",
"label": "タグの背景色",
"default": "#eeeeee"
}
],
"presets": [
{
"name": "タグ表示",
"category": "リスト"
}
]
}
{% endschema %}
{% stylesheet %}
.perfume-tags-wrapper{
font-size: 1.4rem;
}
.perfume-tags-wrapper ul{
list-style: none;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
.perfume-tags-wrapper li{
margin: 0.4rem 0.8rem;
padding: 0.2rem 0.4rem;
}
.perfume-tags-wrapper li a{
text-decoration: none;
color:inherit;
}
{% endstylesheet %}
{% javascript %}
{% endjavascript %}