【Shopify】制作 FAQ(常见问题)模板
shopify,  网页制作

【Shopify】制作 FAQ(常见问题)模板(含源码)

①创建常见问题页面模板

与普通页面(固定页面)分开 创建一个FAQ专用的页面模板

在模板的编辑代码中,添加新的templates页面。

可以起名为「page.faq.liquid」

再添加一个section页面,起名为「faq-template.liquid」

创建 faq-template.liquid 后,删除 page.faq.liquid 的所有内容并加载 faq-template.liquid。

{% section 'faq-template' %}

如果它看起来像这样就可以了。

其实直接写页面内容也可以,但如果你想在模板自定义里编辑的话,就需要使用section。

②将 HTML 添加到创建的 faq-template.liquid

由于 faq-template.liquid 是空的,所以不会显示任何内容,将添加 HTML 来显示 FAQ

这个样式比较简陋,仅供参考。

可以自己在下面的style里修改。

<div class="qa-list mts">
  {% for block in section.blocks %}
    <dl class="qa">
      <dt>{{ block.settings.question }}</dt>
      <dd>
       <p>{{ block.settings.answer }}</p>
      </dd>
    </dl>
  {% endfor %}
</div>

<style>
.qa-list dl {
    position: relative;
    margin: 0;
    padding: 28px 80px 28px 30px;
    cursor: pointer;
    border-bottom: 1px solid #000;
}
.qa-list dl:first-child {
    border-top: 1px solid #000;
}
.qa-list dl::before {
    position: absolute;
    top: 35px;
    right: 35px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
}
.qa-list .open::before {
    transform: rotate(-45deg);
}
.qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 0 0 0 50px;
    font-weight: bold;
    font-size: 20px;
}
.qa-list dl dt::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    content: 'Q.';
    color: #3285bf;
}
.qa-list dl dd::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 2px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #3285bf;
}
.qa-list dl dd {
    position: relative;
    display: none;
    height: auto;
    margin: 20px 0 0;
    padding: 0 0 0 50px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}

@media screen and (max-width: 767px) {
.qa-list dl {
    position: relative;
    padding: 15px 40px 15px 10px;
}
.qa-list dl::before {
    top: 20px;
    right: 20px;
    width: 7px;
    height: 7px;
}
.qa-list dl dt {
    padding: 0 0 0 30px;
    font-size: 14px;
}
.qa-list dl dt::before {
    font-size: 14px;
    top: 3px;
    left: 5px;
    content: 'Q.';
}
.qa-list dl dd::before {
    font-size: 14px;
    top: 5px;
    left: 5px;
    content: 'A.';
}
.qa-list dl dd {
    margin: 10px 0 0;
    padding: 0 0 0 30px;
    font-size: 14px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}
}
</style>

<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script>
$(function(){
  $(".qa-list dd").hide();
  $(".qa-list dl").on("click", function(e){
    $('dd',this).slideToggle('fast');
    if($(this).hasClass('open')){
      $(this).removeClass('open');
    }else{
      $(this).addClass('open');
    }
  });
});

</script>

{% schema %}
{
  "name": "FAQ",
  "settings": [],
  "blocks": [
    {
      "type": "question",
      "name": "質問",
      "settings": [
        {
          "type": "text",
          "id": "question",
          "label": "質問タイトル"
        },
        {
          "type": "richtext",
          "id": "answer",
          "label": "答え"
        }
      ]
    }
  ]
}
{% endschema %}

商店页面里创建一个FAQ的页面,并选择之前添加的 page.faq 模板

③在模板自定义里编辑内容

不用在商店页面里编辑,在模板自定义里改文字内容。

图片中是Shopify 默认主题 “Debut” 的预览效果。

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用*标注