[即將上線] 部落格重構 Phase 2
Introduction
為了支援 SHOPLINE 的部落格重構 Phase 2,對於有開啟 Layout Engine 的店家,需調整代碼以支援以下新功能:
- 新增部落格分類頁相關 liquid 檔案
- 此異動將由 SHOPLINE 統一為 Layout Engine 店家更新,您無需調整代碼,此處僅列出更新內容
- 部落格文章內容頁,麵包屑增加部落格文章所屬分類
- 部落格首頁,增加文章分類區塊展示功能
- 部落格文章內容頁,增加文章分類區塊展示功能
1.新增部落格分類頁相關 liquid 檔案
(此異動將由 SHOPLINE 統一為 Layout Engine 店家更新,您無需調整代碼,此處僅列出更新內容)
A. 新增 liquid 檔案
- Template
- Snippets
- Assets
B. 調整 Locales
調整多語言文案,以下以繁體中文舉例,開發者自行添加或調整 i18n key: shopline_translations.themes.blog.blog_list_page
範例語言如下:
語言 | 文案 |
---|---|
zh-hant.json | 文章分類 |
zh-cn.json | 文章分类 |
en.json | All categories |
vi.json | All categories |
2.部落格文章內容頁,麵包屑增加部落格文章所屬分類
步驟一:更新snippets/blog_breadcrumb.liquid
,補充部落格麵包屑文章所屬分類代碼
{% if post.categories[0] %}
/ <a class="Label" href="{{ post.categories[0].url }}">{{ post.categories\[0].name }}</a>
{% endif %}
步驟二:麵包屑展示代碼中補充文章所屬分類調整如下圖所示
3.部落格首頁,增加文章分類區塊展示功能
調整templates/posts.liquid
文件
步驟一:引入對應樣式與腳本文件
{{ 'section-post-list.css' | asset_source_tag: render_to_top: true }}
{{ 'section-blog-layout.css' | asset_source_tag: render_to_top: true }}
{{ 'post_categories_pannel.js' | asset_source }}
步驟二:調整部落格列表頁面 HTML 元素結構
<div class="post-info-section">
<div class="post-info-section__left">
{% include 'post_list' %}
...
</div>
</div>
步驟三:補充部落格分類面板與部落格分類面板控制 HTML 元素
{% include 'post_categories_pannel_toggle' %}
{% include 'post_categories_pannel' %}
步驟四:部落格文章列表頁面調整圖示如下
步驟五:完整代碼範例如下
{{ 'section-post-list.css' | asset_source_tag: render_to_top: true }}
{{ 'section-blog-layout.css' | asset_source_tag: render_to_top: true }}
{{ 'post_categories_pannel.js' | asset_source }}
<div class="block-inner">
<div class="pd-box">
<div class="container">
{% include 'post_categories_pannel_toggle' %}
<div class="post-info-section">
<div class="post-info-section__left">
{% include 'post_list' %}
<!-- PostList Pagination -->
{% if paginate.pages > 1 %}
<div class="text-center">
<ul class="pagination">
{% if paginate.previous.is_link %}
<li>
<a class="Label" href="{{ paginate.previous.url }}"><i class="fa fa-angle-left" aria-hidden="true"></i></a>
</li>
{% endif %}
{% for part in paginate.parts %}
<li class="{% if part.page == paginate.current_page %}active{% endif %}"><a class="Label" href="{{ part.handle }}">{{
part.title }}</a></li>
{% endfor %}
{% if paginate.next.is_link %}
<li>
<a class="Label" href="{{ paginate.next.url }}"><i class="fa fa-angle-right" aria-hidden="true"></i></a>
</li>
{% endif %}
</ul>
</div>
{% endif %}
<!-- PostList Pagination End -->
</div>
{% include 'post_categories_pannel' %}
</div>
</div>
</div>
</div>
附加說明
以上步驟中代碼均為範例,具體代碼結構、樣式、腳本、實現方式,開發者可自行調整。
4.部落格文章內容頁,增加文章分類區塊展示功能
調整templates/post.liquid
文件
步驟一:引入對應樣式與腳本文件
{{ 'section-blog-layout.css' | asset_source_tag: render_to_top: true }}
{{ 'post_categories_pannel.js' | asset_source }}
步驟二:調整部落格列表頁面 HTML 元素結構
<div class="post-info-section">
<div class="post-info-section__left">
{% include 'post_list' %}
...
</div>
</div>
步驟三:補充部落格分類面板與部落格分類面板控制 HTML 元素
{% include 'post_categories_pannel_toggle' %}
{% include 'post_categories_pannel' %}
步驟四:部落格文章內容頁調整圖示如下
步驟五:完整代碼範例如下
{{ 'page-post-detail.css' | asset_source_tag }}
{{ 'section-blog-layout.css' | asset_source_tag: render_to_top: true }}
{{ 'post_categories_pannel.js' | asset_source }}
<div class="block-inner">
<div class="pd-box">
<div class="container">
{% include 'post_categories_pannel_toggle' %}
<div class="post-info-section">
<div class="post-info-section__left">
<div class="Post">
<h1 class="Post-title primary-border-color-after"> {{ post.title }} </h1>
<div class="Post-date"> {{ post.date }} </div>
<div class="Post-content {% if shop.features contains 'blog_revamp_admin' %}ck-content{% endif %}">
{% assign rich_content_body = post.content %}
{% include 'rich_content' %}
</div>
{% share_buttons %} {{ post.url }} {% end_share_buttons %}
</div>
</div>
{% include 'post_categories_pannel' %}
</div>
</div>
</div>
</div>
附加說明
以上步驟中的代碼均為範例,具體代碼結構、樣式、腳本、實現方式,開發者可自行調整。
Updated about 1 month ago