shopify 主题 blog 列表调用
{% assign blog_handle = request.path | split: '/' | last %}
{% assign blog = blogs[blog_handle] %}
{% paginate blog.articles by 2 %}
{% if blog.articles.size > 0 %}
{% for article in blog.articles %}
<div class="ds-flex jc-c ai-c">
<a href="{{ article.url }}">{{ article.title }}</a>
</div>
{% endfor %}
{% else %}
<p>No related blogs found!</p>
{% endif %}
<div class="pagination">
{{ paginate | default_pagination }}
</div>
{% endpaginate %}
自定义
blog 列表调用+分页调用
<style>
.header-wrapper{position: fixed;background: rgba(0, 0, 0, 0);backdrop-filter: unset;}
.mega-menu[open] .mega-menu__content{background: rgba(0, 0, 0, .5)!important}
.navbar-fixed {background: rgba(0, 0, 0, .5) !important;}
h2{font-size: 98px;margin: 2rem 0;}
h3{font-size: 72px;margin: 2rem 0;}
h4{font-size: 28px;margin: 1rem 0;}
/* .HeaderImageContent { justify-content: left;}
.HeaderImageContent h2 {text-align: left;} */
.Reviews>div>img{width: 100%;;}
.Installation-Guide-nav-box{padding: 2rem;background: linear-gradient(#000, #EB6100);}
.IGN-list span{top: -10px;}
.IGN-list{color: #fff;}
.Installation-Guide-blog-box .Installation-Guide-blog-list{padding: 1% 0;}
.Installation-Guide-blog-box .Installation-Guide-blog-list:not(:nth-child(-n+1)){margin-top: 3%;padding-top: 0;}
.Installation-Guide-blog-box .Installation-Guide-blog-list:nth-of-type(1){border-bottom: 1px solid #363636;}
.Installation-Guide-blog-box .Installation-Guide-blog-list>div{width: 20%;text-align: center;}
.Installation-Guide-blog-box .Installation-Guide-blog-list:not(:nth-child(-n+1))>div{height: 120px;}
.Installation-Guide-blog-box .Installation-Guide-blog-list>div:nth-of-type(2){width: 40%;}
.Installation-Guide-blog-box .Installation-Guide-blog-list>div img{height: 100%;}
.Installation-Guide-blog-box .Installation-Guide-blog-list a{color: #fff;}
</style>
<div class="HeaderImage">
<div class="HeaderImageWarp">
<div class="width-center page-width">
<div class="HeaderImageContent">
<h2 class="">
Guide Your<br><span class="cl-orange">Installation</span>
</h2>
</div>
</div>
</div>
<img src="https://cdn.shopify.com/s/files/1/0793/0462/2273/files/Installation-Guide__Header_Image.png?v=1735122925" alt="">
</div>
<div class="Installation-Guide-nav">
<div class="Installation-Guide-nav-box ds-flex jc-se">
{% assign menu_handle = 'installation-guide-nav' %}
{% for link in linklists[menu_handle].links %}
{% assign blog_handle = link.title | handleize %} <!-- 将导航标题转换为博客句柄 -->
{% assign blog = blogs[blog_handle] %} <!-- 根据句柄找到对应的博客 -->
{% if blog and blog.articles.size > 0 %}
<a href="{{ link.url }}" class="IGN-list p-r color-s32">
{{ link.title }}
<span class="p-a color-s22">{{ blog.articles.size }}</span>
</a>
{% else %}
<!-- 如果没有找到博客,显示为 0 -->
<a href="{{ link.url }}" class="IGN-list p-r color-s32">
{{ link.title }}
<span class="p-a color-s22">0</span>
</a>
{% endif %}
{% endfor %}
</div>
</div>
<div class="Installation-Guide-blog page-width">
<div class="Installation-Guide-blog-box">
{% assign blog_handle = request.path | split: '/' | last %}
{% assign blog = blogs[blog_handle] %}
<div class="Installation-Guide-blog-list ds-flex">
<div>Illustration</div>
<div>Name</div>
<div>Installation Drawing</div>
<div>Installation Video</div>
</div>
{% paginate blog.articles by 2 %}
{% if blog.articles.size > 0 %}
{% for article in blog.articles %}
<div class="Installation-Guide-blog-list ds-flex">
<div><img src="https://cdn.shopify.com/s/files/1/0793/0462/2273/files/customsized-Letter-signs_hot-img.png?v=1735185075" alt=""></div>
<div class="ds-flex jc-c ai-c"><a href="{{ article.url }}"> {{ article.title }}</a></div>
<div><img src="https://cdn.shopify.com/s/files/1/0793/0462/2273/files/customsized-Letter-signs_hot-img.png?v=1735185075" alt=""></div>
<div><img src="https://cdn.shopify.com/s/files/1/0793/0462/2273/files/customsized-Letter-signs_hot-img.png?v=1735185075" alt=""></div>
</div>
{% endfor %}
{% else %}
<p>No related blogs found!</p>
{% endif %}
<!-- Show pagination only if there are more than 1 page -->
{% if paginate.pages > 1 %}
<div class="pagination-wrapper">
<nav class="pagination" role="navigation" aria-label="Pagination">
<ul class="pagination__list list-unstyled" role="list">
<!-- Previous Page Link -->
{% if paginate.previous %}
<li>
<a href="{{ paginate.previous.url }}" class="pagination__item pagination__item--next pagination__item-arrow link motion-reduce" aria-label="Next page">
<svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
</svg>
</a>
</li>
{% endif %}
<!-- Page Number Links -->
{% assign total_pages = paginate.pages %}
{% for page_number in (1..total_pages) %}
{% if page_number == paginate.current_page %}
<li>
<a href="?page={{ page_number }}" class="pagination__item pagination__item--current light" aria-current="page" aria-label="Page {{ page_number }}">{{ page_number }}</a>
</li>
{% else %}
<li>
<a href="?page={{ page_number }}" class="pagination__item link" aria-label="Page {{ page_number }}">{{ page_number }}</a>
</li>
{% endif %}
{% endfor %}
<!-- Next Page Link -->
{% if paginate.next %}
<li>
<a href="{{ paginate.next.url }}" class="pagination__item pagination__item--prev pagination__item-arrow link motion-reduce" aria-label="Previous page">
<svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
</svg>
</a>
</li>
{% endif %}
</ul>
</nav>
</div>
{% endif %}
{% endpaginate %}
</div>
</div>