Liquid-muuttujat Shopify Flow'ssa
Muuttujat ovat paikkamerkkejä, jotka korvataan todellisilla arvoilla, kun työnkulku ajetaan. Muuttujat kuvaavat työnkulkuihin liittyvien asiakkaiden, tilausten ja tuotteiden ominaisuudet. Esimerkiksi tilausnumerolle, tilauksen hinnalle, asiakkaan nimelle jne. on oma muuttujansa. Muuttujia voidaan käyttää ehdoissa työnkulun logiikan hallintaa tai toiminnon tietojen tuottamista varten.
Tällä sivulla
Tietoja Liquidista
Liquid on mallikieli, jolla päästään toimintojen muuttujiin ja kirjoitetaan koodia Flow'ssa. Flow käyttää Liquid-versiota, joka seuraa tarkimmin avoimen lähdekoodin kirjastoa. Shopify-teemat käyttävät toista Liquid-versiota, mutta tämä Liquid-versio koskee teemoja ja sisältää paljon enemmän suodattimia ja tunnisteita kuin Flow tukee sekä erilaista syntaksia muuttujiin pääsemiseksi.
Liquid-muuttujat
Voit lisätä Liquid-muuttujia kaikkiin tekstikenttiin, joissa on Lisää muuttuja -linkki. Napsauta haluamasi kentän alapuolella olevaa Lisää muuttuja -linkkiä ja valitse sitten muuttuja luettelosta.
Lisää muuttuja -luettelon muuttujat suodatetaan siten, että näet vain ne muuttujat, jotka palaavat nykyistä vaihetta edeltävillä vaiheilla, kuten käynnistimillä. Esimerkiksi Tilaus luotu -käynnistin antaa tilaus- ja kaupparesursseja, joiden avulla voit käyttää tilaukseen tai kaupan asetuksiin liittyviä muuttujia, jotka ovat käytettävissä GraphQL Admin APIssa. Kun olet valinnut haluamasi muuttujan luettelosta, järjestelmä muotoilee sen oikein ja lisää sen tekstiruutuun.
Voit kirjoittaa Liquidin myös suoraan tekstilohkoon. Voit esimerkiksi käyttää muuttujaa {{ order.name }}
näyttämään Shopify Adminissa näkyvän tilausmerkkijonon, kuten tilaus-123.
Koska Flow käyttää GraphQL Admin APIa Liquidissa käyttämiesi tietojen noutamiseen, muuttujan syntaksissa käytetään "camel case" -kirjoitustyyliä. Jos esimerkiksi haluat päästä päivämäärään, jolloin tuote luotiin, syötä {{ product.createdAt }}
. Jos käytät Liquid-syntaksia Shopify-teemassa, syötä {{ product.created_at }}
.
Ehdolliset ja toiston Liquid-tunnisteet
Saatat joskus haluta käyttää Liquid-tunnisteita, jotta voit tehdä seuraavasti:
- Kirjoita ehdolliset lausekkeet, kuten määritä, onko tilauksen kokonaissumma yli 100 dollaria
- Toista objektiluettelon läpi, esimerkiksi tuottamalla kunkin rivikohdan tiedot tilaukseen
Liquid-tunnisteiden avulla voit kirjoittaa nämä lausekkeet ja toistaa objektien läpi.
Esimerkiksi seuraava Liquid näyttää tilausnumeron, jos tilauksen kokonaissumma on yli 100 dollaria:
Voit myös käyttää for-silmukkaa, jonka avulla voit toistaa objektiluettelon läpi esimerkiksi tilauksen rivikohdat. Esimerkiksi seuraava Liquid näyttää kunkin rivikohdan nimen tilauksessa:
Flow tukee seuraavia ehdollisia Liquid-tunnisteita (tai toiminnonkulkutunnisteita):
- if
- unless
- elsif/else
- case/when
- ja/tai (monta eri ehtoa)
Flow tukee myös seuraavia Liquid-iteraatiotunnisteita:
Suodattimet
Suodattimien avulla voit muuntaa tietoja Liquidissa. Flow tukee kaikkia avoimen lähdekoodin Liquid-suodattimia.
Esimerkiksi seuraava Liquid poistaa etuliitteen tilauksen nimestä ja tuottaa sen, mitä jää jäljelle: {{ order.name | remove: "Order-" }}
Normaalien Liquid-suodattimien lisäksi Flow tarjoaa päivämääräsuodattimia, joilla toiseen päivämäärään liittyvän päivämäärän saa tukemaan Asetettu aika -käynnistintä ja Hanki tietoja -ominaisuuksia. Nämä suodattimet ovat seuraavat: date_minus
ja date_plus
.
Jos haluat palauttaa päivämäärän, joka on yhden päivän verran tulevaisuudessa:{{ "now" | date_plus: "1 day" }}
Jos haluat palauttaa päivämäärän, joka on yhden päivän verran menneisyydessä:{{ "now" | date_minus: "1 day" }}
Nämä suodattimet hyväksyvät kestoyksiköksi yksiköt second
, minute
, day
, week
, month
ja year
sekä yksikkömuodossa (kuten second
) että monikkomuodossa (kuten seconds
). Tämän muodon lisäksi voit antaa myös kokonaisluvun (sekuntien määrän). Esimerkiksi:{{ "now" | date_minus: 3600 }}
Voit myös antaa ISO8601-kestomerkkijonon, jossa P1Y2D
tarkoittaa yhtä vuotta ja kahta päivää:{{ "now" | date_minus: "P1Y2D" }}
Seikkoja, jotka liittyvät Liquid-muuttujien käyttöön suodattimissa
- Flow ei tue joissakin suodattimissa käytettävissä olevaa pisteellistä merkintätapaa. Flow tukee esimerkiksi muotoa
{{ order.lineItems | size }}
mutta ei muotoa{{ order.lineItems.size }}
. - Flow ei tue metakenttien pisteellistä merkintätapaa. Esimerkiksi
{{ order.metafields.custom.hold_note }}
ei ole käytettävissä. Sen sijaan sinun on tehtävä silmukka metakenttien yli, kuten esimerkeissä on kuvattu. - Flow ei tue indeksien käyttöä luettelon kohteiden käyttämiseen. Et voi esimerkiksi käyttää
{{ order.lineItems[0].title }}
. Sen sijaan sinun on tehtävä silmukka rivikohteiden yli, esimerkeissä kuvattujen mukaisesti.
Esimerkit
Jotta saat paremman tunteen Liquid-muuttujien käytöstä, ota huomioon seuraavat esimerkit.
Resurssien tulos-URL-osoitteet
Haluat tulostaa työnkulkuun liittyvät asiakkaan, tilauksen ja tuotteen URL-osoitteet.
Tunnisteiden luettelon konvertoiminen metakentäksi
Haluat muuntaa tunnistejoukon metakentiksi, joka on yksirivisten tekstikenttien luettelo.Voit luoda työnkulun käyttämällä Tuote lisätty kauppaan -käynnistintä ja käyttämällä Päivitä tuotteen metakenttä -toimintoa.Päivitä tuotteen metakenttä -toiminnon Arvo-osiossa lisäät seuraavan liquid-koodin.Tässä esimerkissä oletetaan, että arvot täytyy asettaa vain kerran, kun tuote on luotu ja että tuotteella on kaksi merkityksellistä tunnistetta: color:red
ja color:orange
.
Syöttää | Tulos |
---|---|
{% capture mf_value %} {%- for tags_item in product.tags -%} {%- if tags_item contains "color:" -%} "{{- tags_item | remove_first: "color:" | strip -}}", {%- endif -%} {%- endfor -%} {% endcapture -%} [{{mf_value | remove_last: ","}}] | ["punainen", "oranssi"] |
Kirjoita tilaukseen dynaaminen sähköpostiviesti
Haluat luoda työnkulun, joka lähettää sähköpostiviestin työntekijälle, kun asiakas tekee tilauksen, jonka kokonaissumma on yli 500 dollaria. Jos haluat luoda työnkulun, jossa käytät Tilaus luotu -käynnistintä, määritä ehto, joka on tosi, jos tilauksen kokonaissumma on yli 500 dollaria, ja käytä Lähetä sisäinen sähköpostiviesti -toimintoa. Syötä seuraavat muuttujat Lähetä sisäinen sähköposti -toiminnon Viesti-osioon.
Syöttää | Tulos |
---|---|
Lähetä henkilökohtainen kiitos asiakkaalle {{ order.customer.firstName }} {{ order.customer.lastName }}({{ order.customer.email }}) tilauksesta, jonka arvo on {{ order.totalPriceSet.shopMoney.amount }} dollaria. | Lähetä henkilökohtainen kiitos asiakkaalle Jeanne Dupont (jeanne@example.com) tilauksesta, jonka arvo on 763,42 dollaria. |
Kirjoita dynaaminen sähköpostiviesti tuotteesta, jonka varasto on vähissä
Haluat ilmoittaa henkilöstön jäsenelle, kun tuotevarasto on vähissä ja varastoa täytyy tilata lisää. Sinun täytyy luoda työnkulku, joka käynnistyy Varastomäärä muuttunut -käynnistimellä, ja asettaa ehto, joka on tosi, jos varastomäärä ennen on pienempi tai yhtä suuri kuin 10. Syötä seuraavat muuttujat Lähetä sisäinen sähköposti -toiminnon Viestiosioon.
Syöttää | Tulos |
---|---|
Tilaa uudelleen {{ product.title }}. Varmista lähettämällä sähköpostia osoitteeseen owner@store.com, että ostotilaus on vastaanotettu. | Tilaa uudelleen korkeavyötäröiset leggingsit – musta. Varmista lähettämällä sähköpostia osoitteeseen owner@example.com, että ostotilaus on vastaanotettu. |
Kirjoita dynaaminen sähköpostiviesti ilmoittaaksesi henkilöstölle vilpillisestä tilauksesta
Haluat peruuttaa tilaukset, joissa on suuri riskitaso, mutta haluat, että henkilöstö peruuttaa tilauksen manuaalisesti. Luot työnkulun, joka alkaa Tilaus luotu -käynnistimellä, ja asetat ehdon, joka on tosi, jos tilauksen riskitaso on yhtä suuri. Syötä seuraavat muuttujat Lähetä sisäinen sähköposti -toiminnon Viestiosioon.
Syöttää | Tulos |
---|---|
Shopify-kauppamme on saanut tilauksen, jonka petosriski korkea. Haluaisimme peruuttaa tämän tilauksen heti, ennen kuin se lähetetään tuotantoon: {{ order.name }} {{ order.billingAddress.lastName }}, {{ order.billingAddress.firstName }} {{ order.email }} Vahvistathan uuden tilauksen tilan. Kiitos! | Shopify-kauppamme on saanut tilauksen, jonka petosriski korkea. Haluaisimme peruuttaa tämän tilauksen heti, ennen kuin se lähetetään tuotantoon: #1001 Dupont, Jeanne jeanne@example.com Vahvistathan uuden tilauksen tilan. Kiitos! |
Tilauksen rivikohtien tulostaminen for-silmukalla
Kun tilaus on vastaanotettu, kannattaa lähettää viesti, jossa on lueteltu tilatut tuotteet. Voit tehdä tämän käyttämällä for loop
-silmukkaa, joka suorittaa koodilohkon toistuvasti. Tekstikentät, jotka tukevat muuttujia, tukevat myös for loops -silmukoita ja forloops object -objekteja.
Esimerkiksi jos haluat luoda työnkulun, joka tuottaa luettelon kaikista tilauksen SKU-koodeista sekä lukumääristä. Syötä seuraavat muuttujat Lähetä sisäinen sähköposti -toiminnon Viestiosioon.
Syöttää | Tulos |
---|---|
Tilauksen yhteenveto: {% for a in order.lineItems %} SKU: {{a.sku}} ( {{a.quantity}} ), {% endfor %} | Tilauksen yhteenveto: 8987097979 (50) 8877778887 (3) 888998898B (1) |
Tulosta tilauksen rivikohdat käyttämällä for-silmukkaa, jossa on lisätietoja
Voit lisätä sähköpostiviestiin lisätietoja, kuten tuotenimen, SKU-koodit, tuotteen hinnan ja asiakkaan toimitustiedot. Syötä seuraavat muuttujat Lähetä sisäinen sähköposti -toiminnon Viestiosioon.
Syöttää | Tulos |
---|---|
Tilauksen yhteenveto: {% for a in order.lineItems %} Tuote: {{a.title}} SKU-koodi:{{a.sku}} Hinta (yksikköä kohti): {{a.originalUnitPriceSet.shopMoney.amount}} $ Määrä: {{a.quantity}} {% endfor %} | Tilauksen yhteenveto: Tuote: Korkeavyötäröiset leggingsit - musta SKU-koodi: 8987097979 Hinta (yksikköä kohti): 8,49 $ Määrä: 5 Tuote: Urheilusukat - sininen SKU-koodi: 888998898B Hinta (yksikköä kohti): 5,61 $ Määrä: 2 |
Tuota joitakin rivikohtia yhdistämällä for-silmukka if-lausekkeella
Sinun täytyy seurata tietyn myyjän toimittamia tuotteita. Syötä seuraavat muuttujat Lähetä sisäinen sähköposti -toiminnon Viestiosioon ja sisällytä if
-lause sinun for loop
.
Syöttää | Tulos |
---|---|
Acme-tuote myyty: {% for x in order.lineItems %} {% if x.vendor == 'acme-vendor' %} Tuotteen nimi: {{x.title}} SKU-koodi: {{x.sku}} {% endif %} {% endfor %} | Acme-tuote myyty: Tuotteen nimi: Korkeavyötäröiset leggingsit - musta SKU-koodi: 8987097979 |
Monimutkaiset dataobjektit Shopify Flow'ssa
Flown avulla voit käyttää lähes kaikkia GraphQL Admin API :ssa olevia tietoja, mukaan lukien monimutkaisia tieto-objekteja, kuten luetteloita ja objekteja. Näillä objekteilla on kuitenkin joitakin rajoituksia. Osiossa kerrotaan näistä rajoituksista ja annetaan esimerkkejä siitä, miten niiden kanssa voi työskennellä.
Sen sijaan, että kutsut luetteloja ja objekteja suoraan, tee silmukka luettelon yli ja sisällytä vain haluamasi kentät.
Sen sijaan, että {{ order.lineItems }}
kutsutaan suoraan, kutsu tiettyjä kenttiä seuraavaa muotoa käyttämällä. Nämä esimerkit sisältävät kaikki kentät, jotka tulisi sisällyttää kutsumalla luetteloa tai objektia suoraan. Kopioi ja liitä tarvittavat kentät.