Shopify Flow
ตัวแปรคือตัวยึดที่จะถูกแทนที่ด้วยค่าเมื่อเรียกใช้เวิร์กโฟลว์ตัวแปรเหล่านี้อธิบายถึงลักษณะของลูกค้าการสั่งซื้อและสินค้าที่เกี่ยวข้องกับขั้นตอนของคุณตัวอย่างเช่นมีตัวแปรต่างๆเกี่ยวกับหมายเลขสั่งซื้อราคาในการสั่งซื้อชื่อลูกค้าและอื่นๆตัวแปรสามารถใช้ได้ในเงื่อนไขเพื่อควบคุมตรรกะในเวิร์กโฟลว์ของคุณหรือเพื่อแสดงข้อมูลในการดำเนินงาน
เกี่ยวกับ液体
液体คือภาษาของเทมเพลตที่ใช้เพื่อเข้าถึงตัวแปรในการดำเนินงานและเขียนโค้ดใน流流ใช้ตัวเลือกสินค้าของ液体ที่ติดตามไลบรารีโอเพนซอร์สShopify (Shopify)液态的,液态的แต่ตัวเลือกสินค้าของ液体นี้เจาะจงไปยังธีมและมีตัวกรองและแท็กมากกว่าการรองรับของ流รวมถึงโครงสร้างทางไวยากรณ์ที่แตกต่างกันไปในการเข้าถึงตัวแปร
ตัวแปร液体
คุณสามารถเพิ่มตัวแปร液体ไปยังช่องข้อความที่มีลิงก์เพิ่มตัวแปรได้คลิกลิงก์เพิ่มตัวแปรใต้ช่องที่เกี่ยวข้องจากนั้นเลือกตัวแปรจากรายการ
ตัวแปรในรายการเพิ่มตัวแปรได้รับการกรองแล้วเพื่อให้คุณเห็นเฉพาะตัวแปรที่ส่งกลับตามขั้นตอนก่อนหน้าขั้นตอนปัจจุบันเช่นทริกเกอร์ตัวอย่างเช่นทริกเกอร์สร้างคำสั่งซื้อจะให้แหล่งข้อมูลเกี่ยวกับเลขคำสั่งซื้อสั่งซื้อและร้านค้าซึ่งจะช่วยให้คุณสามารถใช้ตัวแปรใดๆที่เกี่ยวข้องกับเลขคำสั่งซื้อหรือการตั้งค่าร้านค้าของคุณซึ่งสามารถเข้าถึงได้ในAPI GraphQL管理หลังจากที่คุณเลือกตัวแปรจากรายการแล้วตัวแปรนั้นจะถูกจัดรูปแบบอย่างถูกต้องและเพิ่มไปยังกล่องข้อความให้คุณ
นอกจากนี้คุณยังสามารถเขียน液体ได้โดยตรงในบล็อกข้อความตัวอย่างเช่นคุณสามารถใช้ตัวแปร{{order.name}}
เพื่อแสดงสตริงคำสั่งซื้อที่แสดงในส่วนผู้ดูแลShopifyเช่นเลขคำสั่งซื้อ-123
流เนื่องจากใช้GraphQL管理APIในการกู้คืนข้อมูลที่คุณใช้ใน液体ดังนั้นโครงสร้างไวยากรณ์ตัวแปรจะใช้”คาเมลเค”สตัวอย่างเช่นหากต้องการเข้าถึงวันที่สร้างสินค้าให้กรอก{{产品。createdAt}}
หากคุณใช้โครงสร้างไวยากรณ์ของ液体ในธีมShopifyคุณจะต้องกรอก{{产品。created_at}}
แท็กเงื่อนไขและการทำซ้ำ液体
บางครั้งคุณอาจต้องการใช้แท็ก液体ในการดำเนินการต่อไปนี้:
- เขียนคำสั่งกำหนดเงื่อนไขเช่นการกําหนดว่ายอดรวมของเลขคำสั่งซื้อต้องมากกว่า100美元
- ทำซ้ำคำสั่งผ่านรายการออบเจ็กต์เช่นเอาต์พุตข้อมูลสำหรับสินค้าเฉพาะรายการแต่ละรายการในหนึ่งเลขคำสั่งซื้อ
คุณสามารถใช้แท็ก液体ในการเขียนคำสั่งเหล่านี้และทำซ้ำคำสั่งผ่านรายการออบเจ็กต์ได้
ตัวอย่างเช่น液体ต่อไปนี้แสดงหมายเลขคำสั่งซื้อหากยอดรวมของเลขคำสั่งซื้อมากกว่า100美元:
นอกจากนี้คุณยังสามารถใช้for循环เพื่อทำซ้ำคำสั่งผ่านรายการออบเจ็กต์เช่นสินค้าเฉพาะรายการในเลขคำสั่งซื้อตัวอย่างเช่น液体ต่อไปนี้แสดงชื่อของสินค้าเฉพาะรายการแต่ละรายการในหนึ่งการสั่งซื้อ:
流รองรับแท็กเงื่อนไข液体(หรือแท็กควบคุมขั้นตอนการทำงาน)ต่อไปนี้:
流นอกจากนี้ยังรองรับแท็กการทำซ้ำของ液体ต่อไปนี้อีกด้วย:
ตัวกรอง
ตัวกรองจะช่วยให้คุณสามารถแปลงข้อมูลใน液体ได้流รองรับตัวกรอง液体แบบโอเพนซอร์สทั้งหมด”
ตัวอย่างเช่น液体ต่อไปนี้จะลบอักษรนำหน้าออกจากชื่อและเอาต์พุตของเลขคำสั่งซื้อที่เหลืออยู่:{{Order .name | remove: "Order-"}}
นอกเหนือจากตัวกรอง液体มาตรฐานแล้ว流มีตัวกรองวันที่ที่สัมพันธ์กับวันที่อื่นเพื่อรองรับทริกเกอร์เวลาที่กำหนดไว้และรับฟีเจอร์ข้อมูลตัวกรองเหล่านี้คือ:date_minus
และdate_plus
หากต้องการส่งคืนสินค้าในวันที่หนึ่งวันในอนาคตนับจากนี้:{{"now" | date_plus: "1 day"}}
หากต้องการส่งคืนสินค้าในวันที่หนึ่งวันที่ผ่านมา:{{"now" | date_minus: "1 day"}}
ตัวกรองเหล่านี้ยอมรับ第二个
,一分钟
,一天
,周
,月
และ一年
เป็นหน่วยระยะเวลาทั้งในรูปเอกพจน์(เช่น第二个
),,,,,,秒
)นอกเหนือจากรูปแบบนี้คุณยังสามารถใส่จํานวนเต็ม(จํานวนวินาที)ตัวอย่างเช่น:{{"now" |日期减:3600}}
นอกจากนี้คุณยังสามารถจัดหาสตริงระยะเวลาISO8601ระบุP1Y2D
1 / 2 /{{"now" | date_minus: "P1Y2D"}}
ข้อควรพิจารณาเกี่ยวกับการใช้ตัวแปร液体ในตัวกรอง
- 流ไม่รองรับจุดที่มีให้ใช้งานในบางตัวกรองตัวอย่างเช่น流รองรับ
{{秩序。李neItems | size }}
แต่ไม่รองรับ{{order.lineItems.size}}
- 流ไม่รองรับเครื่องหมายจุดของเมตาฟิลด์ตัวอย่างเช่นคุณไม่สามารถใช้
{{order.metafields.custom。hold_note}}
แต่คุณต้องลูปรอบเมตาฟิลด์ตามที่ระบุไว้ในตัวอย่าง - 流ไม่รองรับการใช้ดัชนีเพื่อเข้าถึงรายการสินค้าในรายการตัวอย่างเช่นคุณไม่สามารถใช้
{{order.lineItems[0]。标题}}
ได้แต่คุณต้องลูปรอบสินค้าเฉพาะรายการตามที่ระบุไว้ในตัวอย่าง
ตัวอย่าง
เพื่อให้เข้าใจวิธีใช้ตัวแปร液体ได้ดีขึ้นลองพิจารณาตัวอย่างต่อไปนี้
เอาท์พุตค่าเมตาฟิลด์
คุณต้องการแสดงค่าของเมตาฟิลด์ของเลขคำสั่งซื้อในอีเมลเมตาฟิลด์เป็นสตริงและมีเนมสเปซ自定义
และคีย์ของhold_note
ค่าของเมตาฟิลด์นี้คือ请等到4月1日再发货。
คุณสร้างขั้นตอนการทำงานโดยใช้ทริกเกอร์สร้างคำสั่งซื้อแล้วและใช้การดำเนินการส่งอีเมลภายในในส่วนข้อความของการดำเนินการส่งอีเมลภายในนั้นคุณต้องใช้ตัวแปรต่อไปนี้
อินพุต | เอาท์พุต |
---|---|
{% assign hold_note = order。元字段| where: "namespace", "custom" | where: "key", "hold_note" | first %} 。值}} |
เลขคำสั่งซื้อมีบันทึกการระงับว่า:โปรดรอจัดส่งสินค้าตามเลขคำสั่งซื้อนี้จนถึงวันที่1เมษายน |
แปลงรายการแท็กเป็นเมตาฟิลด์
คุณต้องการแปลงชุดแท็กเป็นเมตาฟิลด์ที่เป็นรายการช่องข้อความบรรทัดเดียวคุณสร้างขั้นตอนการทำงานโดยใช้ทริกเกอร์สินค้าที่เพิ่มไปยังร้านค้าและใช้การดำเนินการอัปเดตเมตาฟิลด์สินค้าในส่วนค่าของการดำเนินการอัปเดตเมตาฟิลด์สินค้าให้เพิ่มโค้ด液体ต่อไปนี้ตัวอย่างนี้อนุมานว่าคุณต้องการตั้งค่าเพียงครั้งเดียวเมื่อสร้างสินค้าและสินค้ามีแท็กสองแท็กที่เกี่ยวข้องกัน:颜色:红色
และ颜色:橘色
อินพุต | เอาท์พุต |
---|---|
{% capture mf_value %} {%-产品中的tags_item。标记- - - %} {%-如果tags_item包含"color:" -%} ”{{- tags_item | remove_first:“颜色:“|地带——}}”, {%- endif -%} {%- endfor -%} {% endcapture -%} [{{mf_value | remove_last: ","}}] |
["สีแดง”、“สีส้ม”) |
เขียนข้อความอีเมลแบบไดนามิกสำหรับคำสั่งซื้อ
ตัวอย่างเช่นคุณต้องการสร้างขั้นตอนการทำงานที่จะส่งอีเมลไปยังพนักงานเมื่อลูกค้าใช้จ่ายมากกว่า500美元ในคำสั่งซื้อเดียวคุณต้องสร้างขั้นตอนการทำงานที่ใช้ทริกเกอร์สร้างคำสั่งซื้อแล้วขึ้นตั้งเงื่อนไขที่จะเป็นจริงหากยอดรวมของคำสั่งซื้อเกินกว่า500美元และใช้การดำเนินการส่งอีเมลภายในในส่วนข้อความของการดำเนินการส่งอีเมลภายในนั้นคุณต้องใช้ตัวแปรต่อไปนี้
อินพุต | เอาท์พุต |
---|---|
โปรดส่งบันทึกขอบคุณส่วนบุคคลไปยัง{{order.customer.firstName}} {{order.customer.lastName}} ({{order.customer.email}})สำหรับการสั่งซื้อราคา$ {{order.totalPriceSet.shopMoney.amount}} | โปรดส่งบันทึกขอบคุณส่วนตัวไปยัง珍妮杜邦(jeanne@example.com)ในการสั่งซื้อสินค้าราคา763.42美元 |
เขียนข้อความอีเมลแบบไดนามิกสำหรับสินค้าที่สต็อกสินค้าเหลือน้อย
คุณตัดสินใจว่าคุณต้องแจ้งให้พนักงานทราบเมื่อสินค้าคงคลังเหลือน้อยและต้องมีการสั่งซื้อเข้าสต็อกเพิ่มคุณต้องสร้างขั้นตอนการทำงานที่เริ่มต้นด้วยทริกเกอร์เปลี่ยนปริมาณสินค้าคงคลังแล้วและตั้งเงื่อนไขที่จะเป็นจริงหากปริมาณสินค้าคงคลังก่อนหน้าน้อยกว่าหรือเท่ากับ10ในส่วนข้อความของการดำเนินการส่งอีเมลภายในนั้นคุณต้องใช้ตัวแปรต่อไปนี้
อินพุต | เอาท์พุต |
---|---|
โปรดสั่งซื้อ{{产品。标题}}อีกครั้ง ส่งอีเมลไปยัง owner@store.com เพื่อตรวจสอบยืนยันว่าพวกเขาได้รับคำสั่งซื้อแล้ว | โปรดสั่งซื้อกางเกงเลกกิ้งเอวสูง-สีดำซ้ำอีกครั้งส่งอีเมลไปยังowner@example.comเพื่อตรวจสอบยืนยันว่าพวกเขาได้รับคำสั่งซื้อแล้ว |
เขียนข้อความอีเมลแบบไดนามิกเพื่อแจ้งให้พนักงานทราบเกี่ยวกับคำสั่งซื้อจากการฉ้อโกงด้านการชำระเงิน
คุณต้องการยกเลิกคำสั่งซื้อที่มีระดับความเสี่ยงสูงแต่ต้องการให้พนักงานของคุณยกเลิกคำสั่งซื้อด้วยตนเองคุณต้องสร้างขั้นตอนการทำงานที่เริ่มต้นด้วยทริกเกอร์สร้างคำสั่งซื้อแล้วและตั้งเงื่อนไขที่จะเป็นจริงหากคำสั่งซื้อมีระดับความเสี่ยงเท่ากับสูงในส่วนข้อความของการดำเนินการส่งอีเมลภายในนั้นคุณต้องใช้ตัวแปรต่อไปนี้
อินพุต | เอาท์พุต |
---|---|
ร้านค้าShopifyของเราได้รับคำสั่งซื้อที่มีความเสี่ยงที่จะเป็นการทุจริตสูงเราต้องการยกเลิกสินค้าตามคำสั่งซื้อนี้ทันทีก่อนที่จะมีการส่งไปยังส่วนการผลิต: {{order.name}} {{order.billingAddress.lastName}}, {{order.billingAddress.firstName}} {{秩序。电子邮件}} โปรดยืนยันสถานะคำสั่งซื้อใหม่ขอขอบคุณ |
ร้านค้าShopifyของเราได้รับคำสั่งซื้อที่มีความเสี่ยงที่จะเป็นการทุจริตสูงเราต้องการยกเลิกสินค้าตามคำสั่งซื้อนี้ทันทีก่อนที่จะมีการส่งไปยังส่วนการผลิต: # 1001 杜邦,珍妮 jeanne@example.com โปรดยืนยันสถานะคำสั่งซื้อใหม่ขอขอบคุณ |
แสดงผลสินค้าเฉพาะรายการสำหรับคำสั่งซื้อที่ใช้For循环
เมื่อได้รับคำสั่งซื้อมาแล้วการส่งข้อความระบุสินค้าที่ลูกค้าสั่งซื้อก็อาจเป็นประโยชน์ได้คุณสามารถทำเช่นนี้ได้โดยใช้for循环
ซึ่งจะเป็นการสั่งให้ระบบดำเนินการตามบล็อกโค้ดซ้ำๆนอกจากนี้ช่องข้อความที่รองรับตัวแปรจะยังรองรับFor loop (For loop)ด้วย
ตัวอย่างเช่นคุณต้องการสร้างขั้นตอนการทำงานที่จะส่งคืนรายการของSKUและปริมาณทั้งหมดในคำสั่งซื้อหนึ่งในส่วนข้อความของการดำเนินการส่งอีเมลภายในนั้นคุณต้องใช้ตัวแปรต่อไปนี้
อินพุต | เอาท์พุต |
---|---|
ข้อมูลสรุปการสั่งซื้อ: {%表示顺序。lineitem %} SKU: {{a.sku}}( {{a.quantity}} ), {% endfor %} |
ข้อมูลสรุปคำสั่งซื้อ: 8987097979 (50) 8877778887 (3) 888998898 b (1) |
แสดงผลสินค้าเฉพาะรายการสำหรับคำสั่งซื้อที่ใช้For循环พร้อมด้วยข้อมูลเพิ่มเติม
คุณตัดสินใจเพิ่มข้อมูลเพิ่มเติมไปยังอีเมลได้แก่ชื่อสินค้า,SKU,ราคาต่อรายการและข้อมูลการจัดส่งของลูกค้าในส่วนข้อความของการดำเนินการส่งอีเมลภายในนั้นคุณต้องใช้ตัวแปรต่อไปนี้
อินพุต | เอาท์พุต |
---|---|
ข้อมูลสรุปการสั่งซื้อ: {%表示顺序。lineitem %} สินค้า:{{a.title}} SKU: {{a.sku}} ราคา(ต่อหน่วย):$ {{a.originalUnitPriceSet.shopMoney.amount}} ปริมาณ:{{a.quantity}} {% endfor %} |
ข้อมูลสรุปการสั่งซื้อ: :สินค้ากางเกงเลกกิ้ง-สีดำ SKU: 8987097979 总费用:8.49美元 ปริมาณ:5 :สินค้าถุงเท้ากีฬ,าสีฟ้า SKU: 888998898 b : $5.61 ปริมาณ:2 |
แสดงผลสินค้าเฉพาะรายการบางรายการโดยการรวมFor循环ที่มีรูปประโยค”ถ้า”
คุณต้องติดตามรายการสินค้าที่ขายได้ซึ่งเวนเดอร์รายใดรายหนึ่งจัดเตรียมให้ในส่วนข้อความของการดำเนินการส่งอีเมลภายในคุณต้องใช้ตัวแปรดังต่อไปนี้และใส่ข้อความ如果
ในfor循环
ของคุณ
อินพุต | เอาท์พุต |
---|---|
สินค้าที่ขายได้ของAcme: {%按顺序表示x。lineitem %} {%如果x.v erner == 'acme-vendor' %} ชื่อสินค้า:{{x.title}} SKU: {{x.sku}} {% endif %} {% endfor %} |
สินค้าที่ขายได้ของAcme: ชื่อสินค้า:กางเกงเลกกิ้ง-สีดำ SKU: 8987097979 |
Shopify流量
流ช่วยให้คุณเข้าถึงข้อมูลเกือบทั้งหมดภายในAPIซึ่งรวมถึงออบเจ็กต์ข้อมูลที่ซับซ้อนเช่นรายการและออบเจ็กต์อย่างไรก็ตามมีข้อจํากัดบางประการที่คุณสามารถดำเนินการกับออบเจ็กต์เหล่านี้ได้ส่วนนี้จะสรุปข้อจํากัดเหล่านี้และแสดงตัวอย่างวิธีการร่วมงานกับพวกเขา
แทนที่จะเรียกใช้รายการและออบเจ็กต์โดยตรงคุณควรลูปรอบรายการและใส่เฉพาะช่องที่คุณต้องการ
ตัวอย่างเช่นแทนที่จะโทร{{秩序。李neItems }}
โดยตรงให้ใช้รูปแบบต่อไปนี้เพื่อเรียกช่องข้อมูลเฉพาะตัวอย่างเหล่านี้รวมช่องทั้งหมดที่จะรวมอยู่ด้วยจากการเรียกอาร์เรย์หรืออ็อบเจกต์โดยตรงคัดลอกและวางช่องที่คุณต้องการ