【问题标题】:Referencing pages with no properties in Liquid conditionals for Shopify store引用 Shopify 商店的 Liquid 条件中没有属性的页面
【发布时间】:2016-10-09 23:30:18
【问题描述】:

我成功实现了一个滑块,该滑块在 Shopify 商店的每个页面上显示不同的内容。在我想放置独特内容的五个页面中(关于页面、博客提要、另一个手动添加的静态内容页面、主页和目录页面),我无法为主页和目录页面,因为我无法在液体中引用它们。

我创建了一个测试 sn-p 来显示所有可能有用的变量,以便发现在条件中引用我的页面的方法:

<div class="grid__item__nm--wrap">
    <span><h1>THIS IS WHAT THE PAGE HANDLE IS:</h1> {{ page.handle }}</span>
    <span><h1>THIS IS WHAT THE PAGE TITLE IS:</h1> {{ page.title }}</span>
    <span><h1>THIS IS WHAT THE PAGE TEMPLATE SUFFIX IS:</h1> {{ page.template_suffix }}</span>
    <span><h1>THIS IS WHAT THE PAGE ID IS:</h1> {{ page.id }}</span>
</div>

(注意:上面的 sn-p 工作正常,不需要故障排除。我将其发布为一种简洁的方式来演示我在做什么。)

theme.liquid 中包含这个 sn-p 适用于我添加到导航的所有页面和“关于我们”页面,显示不同的属性。但是,主页或目录页面上的任何属性都不会输出任何内容。

我能做的最好的就是通过“else”案例在主页和目录页面上显示相同的内容。这还不够好。我想要主页和目录页面的不同内容。事实上,理想情况下,我想从包含生成滑块的 sn-p 中排除目录页面(但不是主页)。如果没有任何属性可用于引用目录页面,我不知道该怎么做。

【问题讨论】:

    标签: shopify liquid


    【解决方案1】:

    根据 Shopify 架构,页面的 url 如下 - //mystorelink.com/pages/page-handle 。所以当你使用{{ page.title }}时,只有当url为上述格式时才会显示页面标题。

    不要混淆“Shopify 页面”和“网页”,因为两者是完全不同的。

    Shopify 页面是一个模板,而网页是一个普通的 html 页面。为了满足您的要求,请参阅以下链接类型和模板

    1. ///myshoplink.com -> index.liquid -> {{ page_title }} & {{ page_description }}
    2. /collections/xyz -> collection.liquid -> {{ collection.title }} & {{ collection.description }}
    3. /products/xyz/collections/abc/products/xyz -> product.liquid -> {{ product.title }} & {{ product.description }}
    4. /pages/xyz -> page.liquid -> {{ page.title }} & {{ page.description }}

    其他模板类似。

    附注您可以使用后缀值拥有多个产品/集合/页面等模板,但{{ &lt;template&gt;.title }} 保持不变

    附言如果没有任何改变,您可以在任何地方使用{{ page_title }}{{ page_description }}。默认为当前使用的模板。

    【讨论】:

    • 谢谢。我对 Shopify 模板和渲染页面之间的关系感到非常困惑。
    【解决方案2】:

    为了其他人的利益,这里有一个更全面的测试 sn-p,用于根据接受的答案查找要在 Liquid 条件中使用的标识符:

    <div class="grid__item__nm--wrap">
        <span><h1>THIS IS WHAT THE SHOPIFY PAGE TITLE IS:</h1> {{ page.title }}</span>
        <span><h1>THIS IS WHAT THE SHOPIFY PAGE HANDLE IS:</h1> {{ page.handle }}</span>
        <span><h1>THIS IS WHAT THE SHOPIFY PAGE TEMPLATE SUFFIX IS:</h1> {{ page.template_suffix }}</span>
        <span><h1>THIS IS WHAT THE SHOPIFY PAGE ID IS:</h1> {{ page.id }}</span>
        <span><h1>THIS IS WHAT THE RENDERED PAGE TITLE:</h1> {{ page_title }}</span>
        <span><h1>THIS IS WHAT THE RENDERED PAGE META DESCRIPTION IS:</h1> {{ page_description }}</span>
        <span><h1>THIS IS WHAT THE SHOPIFY COLLECTION TITLE IS:</h1> {{ collection.title }}</span>
        <span><h1>THIS IS WHAT THE SHOPIFY COLLECTION HANDLE IS:</h1> {{ collection.handle }}</span>
        <span><h1>THIS IS WHAT THE SHOPIFY COLLECTION ID IS:</h1> {{ collection.id }}</span>
        <span><h1>THIS IS WHAT THE SHOPIFY COLLECTION DESCRIPTION IS:</h1> {{ collection.description }}</span>
        <span><h1>THIS IS WHAT THE SHOPIFY PRODUCT TITLE IS:</h1> {{ product.title }}</span>
        <span><h1>THIS IS WHAT THE SHOPIFY PRODUCT HANDLE IS:</h1> {{ product.handle }}</span>
        <span><h1>THIS IS WHAT THE SHOPIFY PRODUCT ID IS:</h1> {{ product.id }}</span>
        <span><h1>THIS IS WHAT THE SHOPIFY PRODUCT DESCRIPTION IS:</h1> {{ product.description }}</span>
    </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-14
      • 2019-11-27
      • 1970-01-01
      相关资源
      最近更新 更多