引用 Shopify 商店的 Liquid 条件中没有属性的页面

Referencing pages with no properties in Liquid conditionals for Shopify store

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

我创建了一个测试片段来显示所有可能有用的变量,以便发现一种在有条件的情况下引用我的页面的方法:

<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>

(注意:上面的代码片段工作正常,不需要进行故障排除。我 post 它作为一种简洁的方式来演示我在做什么。)

theme.liquid 中包含此代码段适用于我添加到导航中的所有页面和 "About Us" 页面,显示不同的属性。但是,主页或目录页上的任何属性都没有任何输出。

我能做的最好的就是通过"else"案例在首页和目录页显示相同的内容。这还不够好。我想要主页和目录页的不同内容。事实上,理想情况下,我想从生成滑块的代码片段中排除目录页面(但不是主页)。如果没有任何属性可用于引用目录页面,我不知道如何做这些事情。

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

不要混淆 "Shopify page" 和 "webpage",因为两者完全不同。

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

  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 }}

其他模板类似。

P.S。您可以使用后缀值有多个 product/collection/pages 等模板,但 {{ <template>.title }} 保持不变

P.P.S。如果什么都不改变,你可以在任何地方简单地使用 {{ page_title }}{{ page_description }}。它默认为当前使用的模板。

为了其他人的利益,这里有一个更全面的测试片段,用于根据已接受的答案查找要在 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>