Shopify Liquid语言基础知识-1

基础

标签(tag)

{ { code }} :仅仅输出数据,用于逻辑较少的liquid代码。

{% code %} :可以用于任何情况,用于其他作用:

  • 在liquid对象和数组中循环。
  • 创建新的命名变量。
  • 包括“snippets”和链接“sections”。
  • for循环。
  • if/else语句(条件句)

示例:

{% for product in collection.products %} 
	{
  { product.title }} 
{% endfor %}

上面的循环将循环遍历集合中的产品,并运行代码块中的任何内容。在上面的示例中,它将输出产品的标题。

{%- code -%} :与{% code %}类似,但是防止标签在输出文档中生成空白。

对象与属性(objects and attributes)

对象包含用于在页面上显示动态内容的属性。对象还可以包含其他对象。

对象在liquid中可迭代,类似数组。有时可以在没有属性的情况下调用对象并接收单个值。

liquid中充满了对象。

过滤器(filters)

过滤器用于调整字符串、数字、变量和对象的输出。

在其他编程语言中,这些作用通过方法实现。但是liquid中无法创建自己的方法和作用。

过滤器总是以 | 开头,可以像这样串在一起:

{
  { product.title | upcase | remove: "AWESOME"  }}

对于上述代码,如果是product.title之前是“Awesome Shoes”,输出的是“SHOES”。

liquid中的一切都可以用标签、对象和过滤器来概括。

liquid对象

如果我们认为Liquid是访问和显示存储数据的方式,那么对象就是我们在Shopify主题中访问数据的方式。

下面是2个官方文档没有的概念,用于加强理解:

概念1:对象“样式”

在其他编程语言中,对象看起来像这样

person = { first_name: "Chris", last_name: "Dodd", age: 27 }

但在liquid中,对象可以返回单个值、一组值或一组键/值对。这就是为什么我把这个对象分成不同的样式。

类似数组的对象

这些“对象”被称为Liquid中的对象,但它们的操作更像数组。

  • 有些可以迭代,有些不能。
  • 有些可以通过句柄访问它们的“项”,但只有当这样的句柄存在时(类似于PHP中关联数组的工作方式)。

但是,作为一个整体,这些对象包含其他对象的集合(数组)。

比如:

  • Pages
  • Blogs
  • Articles
  • Images

请注意,这些都是复数名称,表明这些对象包含一组值。

单个值的对象

这些对象只有一个值,通过调用对象本身输出。

比如:

  • Canonical_url
  • Current_page
  • Handle

传统样式的对象

传统样式对象是包含属性的对象,而属性又包含可以是任何类型的数据类型(如字符串、数组和其他对象)的值。类似Javascript)中的对象。

比如:

  • Product
  • Customer
  • Page
  • Collection
  • Article

下面是一个包含了所有样式的例子:

{% for product in collection.products %} 
	{
  { product.handl

你可能感兴趣的:(shopify相关,shopify,ruby,开发语言)