我是否有液体地图过滤器如何工作的通用示例?似乎没有这方面的文件。地图过滤器是“在给定属性上映射/收集数组” - 但是如何确定属性?
此示例存在 - Liquid Template Map Filter - 但它似乎特定于单个用例。地图如何运作?
据我所知,要过滤的输出是数组,但map的参数是什么?
例如:
{{ page.tags | map: 'name' }}
名字是什么?它是要输出的值的标签吗?对于给定的对象,如何确定该标签可能是什么?
答案 0 :(得分:6)
map通过迭代元素数组的每个元素,然后获取给定属性的值来工作。
你必须知道你传递的元素数组的属性是什么。
ie:如果你有一个collection.products,并且想要获取集合中每个产品的句柄,然后以逗号分隔的字符串返回它们,那么你可以这样做:
{{ collection.products | map: 'handle' | join: ',' }}
这将列出所有产品句柄:
across-the-mountains,alpine-meadow,appproaching-storm,arboretum-poster,around-st-peters,basic-tee,bryce-canyon-sunrise,crocuses,flower-print-mum,gatineau-park-stream,product-2,hooded-sweater,product-3,last-light-at-sandbanks,last-light-on-opabin-plateau,library-of-parliament,library-of-parliament-poster,long-beach-tofino,magnolia,meadow-2,mountain-panoramic-2,ready-to-frame-tulip-print-10,ready-to-frame-tulip-print-11,ready-to-frame-tulip-print-12,ready-to-frame-tulip-print-13,ready-to-frame-tulip-print-14,ready-to-frame-tulip-print-15,ready-to-frame-tulip-print-2,ready-to-frame-tulip-print-3,ready-to-frame-tulip-print-4,ready-to-frame-tulip-print-6,ready-to-frame-tulip-print-7,ready-to-frame-tulip-print-8,ready-to-frame-tulip-print-9,ready-to-frame-tulip-print-5,ready-to-frame-tulip-print-1,sample,shopify-shirt,shirt,sunset-on-lake-ohara,t-shirt,library-of-parliament2,test-prdouct,test-prod,test-product-1,test-product,testing,the-arboretum-poster,the-arboretum-central-experimental-farm,the-colosseum