为Shopify中的`{%块传递以前分配的变量

为Shopify中的`{%块传递以前分配的变量,shopify,shopify-template,Shopify,Shopify Template,在博客Template.liquid {% assign articleSortOrder = '' %} .... {% for article in blog.articles {{articleSortOrder}} %} 出现错误:Liquid语法错误:在blog.articles{{{articleSortOrder}}中出现意外字符{ 其目的是根据某些条件传递变量对文章进行排序 问:如何使其工作?这不是有效的液体代码: {%用于blog.articles中的文章{{{ar

博客Template.liquid

{% assign articleSortOrder = '' %} 
 ....

{% for article in blog.articles {{articleSortOrder}} %}  
出现错误:
Liquid语法错误:在blog.articles{{{articleSortOrder}}中出现意外字符{

其目的是根据某些条件传递变量对文章进行排序


问:如何使其工作?

这不是有效的液体代码:

{%用于blog.articles中的文章{{{articleSortOrder}}%}

你不能在液体中通过液体,也就是说,{%{{}%}


此外,for循环只接受几个参数:

  • 反转
    -这将反转循环
  • 限制
    -这将限制迭代次数
  • 偏移量
    -这将使循环跳过特定数量的项目
排序不是其中之一

您可以在此处阅读有关for循环的更多信息:


为了以特定的方式对博客进行排序,您必须将其编码如下:

{% assign articleSortOrder = '' %} 
{% assign blog_articles_sort = blog.articles | sort: articleSortOrder %}
{% for article in blog_articles_sort %}

{% endfor %}
将项目分配到特定变量中并对其进行排序

请记住,这将只分类50篇文章


如果要对50个以上的对象进行排序,则需要覆盖paginate对象
{%paginate blog.articles by 9999%}

那么您的代码将如下所示:

{% paginate blog.articles by 9999 %}
  {% assign articleSortOrder = '' %} 
  {% assign blog_articles_sort = blog.articles | sort: articleSortOrder %}
  {% for article in blog_articles_sort %}

  {% endfor %}
{% endpaginate %}
有关paginate的更多信息,请参见此处:


请记住,Shopify中的排序功能是有限的。您可能需要使用javascript或其他方法对它们进行排序,具体取决于您正在寻找的内容