Miten pakettisäännöt toimivat bundle-konfiguraattorissa?
Ohje bundle-tuotteiden Bundle Rules -sääntöihin: rajoita target-optionin tuotteita automaattisesti asiakkaan valintojen perusteella.
Sisällysluettelo
Pakettisääntöjen toimintaperiaate bundle-konfiguraattorissa
Pakettisäännöt rajaavat verkkokaupan bundle-konfiguraattorissa valintoja muiden pakettivaihtoehtojen perusteella. Säännöt tallennetaan pakettivaihtoehdon JSON-tietoihin, ja jokainen sääntö yhdistää määräävän vaihtoehdon siihen vaihtoehtoon, jonka tuotteiden ominaisuuksia rajoitetaan. Hallintapaneelissa säännöt voi tarkistaa, mutta niitä ei voi muokata lomakekenttinä.
Avaa pakettituotteen säännöt Hallintapaneelissa
Pakettituotteen säännöt löytyvät tuotteen Paketti-välilehdeltä. Avaa Products reitillä /products, valitse pakettituote ja avaa Paketti. Valitse Vaihtoehdot-osiosta tarkistettava pakettivaihtoehto. Sääntödata näkyy vaihtoehdon yhteydessä JSON-muodossa sekä ilmoitus Säännöt säilyvät. Muokkaus vaatii nimenomaisen sääntöpäivityksen.
Pakettivaihtoehdon tyypin, vaihtoehdon koodin, pakollisuuden, järjestyksen, lisävalinnan ja lokalisoitujen nimien muutokset tallentuvat automaattisesti. Nämä muutokset eivät korvaa olemassa olevaa sääntö-JSONia, koska käyttöliittymän päivityspyyntö ei sisällä sääntöjä. Uuden vaihtoehdon säännöt alkavat tyhjänä listana [].
Tunnista määräävä vaihtoehto ja rajoitettava vaihtoehto
Pakettisäännön määräävä vaihtoehto nimetään sourceOptionCode-kentässä sen sisäisellä vaihtoehdon koodilla. Esimerkiksi option_63 voi olla runkokoon valinta, jonka valittu määrä ohjaa toisen vaihtoehdon sallittuja tuotteita. Sääntö tallennetaan siihen kohdevaihtoehtoon, jonka linkitettyjen tuotteiden pituutta, leveyttä, korkeutta tai painoa halutaan rajata; esimerkin kohdevaihtoehto voi olla option_62.
Vaihtoehdon koodi on sisäinen tunniste pakettipyynnöille ja integraatioille. Jos uutta vaihtoehtoa luotaessa ei anneta koodia, järjestelmä muodostaa arvon muodossa option_<id>. Käytä sääntöjen tarkistuksessa aina näkyvää Vaihtoehdon koodi -arvoa, sillä otsikko on lokalisoitu asiakasteksti eikä vakaa sääntöviittaus.
Valitse sääntötyyppi ja laskettava määrä
Pakettisäännön tyyppi kertoo, miten laskettua raja-arvoa verrataan kohdetuotteen kenttään. min_field_by_stack asettaa vähimmäisarvon, max_field_by_stack enimmäisarvon ja exact_field_by_stack täsmällisen arvon. Määräävän vaihtoehdon valinnat lasketaan countMode-arvolla: selected_count laskee valitut tuotteet ja selected_qty laskee niiden valitut kappalemäärät.
Kohdekenttä annetaan targetField-arvolla. Tuetut tekniset kentät ovat products_length, products_width, products_height ja products_weight. Pakettirajapinta toimittaa verkkokaupalle sekä vaihtoehdon rules-arvon että linkitettyjen tuotteiden pituus-, leveys-, korkeus- ja painotiedot. Sääntöjen arvot on siksi sovitettava samoihin kenttiin ja yksiköihin, joita kyseinen tuotedata käyttää.
Laske pinon raja-arvo
Pakettisääntöjen pinopohjainen computedValue-raja-arvo lasketaan kaavalla base + max(count - 1, 0) * perIntermediate + (count > 0 ? last : 0). base on pinon perusarvo, perIntermediate lisää arvon jokaisesta ensimmäisen jälkeen mukaan tulevasta valinnasta ja last lisää viimeisen kappaleen vaikutuksen, kun valittuja tuotteita on vähintään yksi.
Jos base on 40, perIntermediate on 20, last on 22 ja laskettu määrä on 3, tulos on 40 + 2 * 20 + 22 = 102. Määrällä 4 vastaava computedValue on 40 + 3 * 20 + 22 = 122. Kun laskettu määrä on 0, väli- ja loppulisää ei käytetä. Tarkista jokainen numero tuotteen todellisia mittoja tai painoa vasten; esimerkiksi kenttäarvo 2400 on tulkittava kyseisen kentän todellisessa yksikössä. Virheellinen perusarvo tai yksikkö voi sallia väärän yhdistelmän tai estää kelvollisen valinnan.
Yhdistä useita pakettisääntöjä
Saman kohdevaihtoehdon useita pakettisääntöjä sovelletaan yhdessä AND-periaatteella: kohdetuotteen on täytettävä kaikki säännöt. Vähimmäis- ja enimmäissääntö voivat esimerkiksi muodostaa sallitun mittavälin. Jos yksikin ehto ei täyty, kohdetuote ei ole kelvollinen senhetkiseen bundle-yhdistelmään.
Bundle-konfiguraattori voi poistaa kelpaamattoman tuotteen käytöstä ja tyhjentää aiemmin tehdyn valinnan, jos määräävän vaihtoehdon muutos tekee valinnasta sääntöjen vastaisen. Testaa siksi myös järjestys, jossa asiakas valitsee ensin kohdetuotteen ja vaihtaa vasta sen jälkeen määräävän vaihtoehdon määrää tai valintaa. Näin varmistat sekä käytöstä poistumisen että aiemman valinnan purkautumisen.
Muokkaa sääntöjä vain hyväksytyllä ylläpitopolulla
Pakettisäännöt näkyvät Hallintapaneelin Paketti-välilehdellä JSONina vain luettavana. Siinä ei ole sääntörivin lisäystä, sääntötyypin valintaa, JSON-näkymän vaihtopainiketta tai kopiointitoimintoa. Älä korvaa JSONia tuotteen muiden kenttien kautta äläkä päättele uuden säännön rakennetta pelkän näkyvän esimerkin perusteella. Pakettisäännön muokkaaminen vaatii hyväksytyn ylläpitopolun.
Testaa pakettisääntö verkkokaupassa
Pakettisääntöjä testataan bundle-konfiguraattorissa tuotteella, jolla on tunnetut mitat tai paino, ja määräävällä vaihtoehdolla, jonka koodi vastaa sourceOptionCode-arvoa. Aloita määrällä 0 tai yhdellä valinnalla, kasvata määrä vähintään kahteen ja vertaa laskettua raja-arvoa kohdetuotteiden targetField-arvoihin. Tarkista vähimmäis-, enimmäis- tai täsmäehdon mukainen tulos sekä kaikkien samanaikaisten sääntöjen yhteisvaikutus.
Jos kaikki tuotteet jäävät valittaviksi, tarkista vaihtoehtojen koodit, säännön tallennus kohdevaihtoehdolle, countMode, targetField ja JSONin rakenne. Jos kaikki tuotteet poistuvat käytöstä, tarkista erityisesti yksiköt, nolla-arvot sekä base-, perIntermediate- ja last-luvut. Jos aiempi valinta jää voimaan sääntöjen vastaisena, tallenna testin valintajärjestys ja käytetyt JSON-arvot tuen selvitystä varten.
Tunnista sääntöjen tekninen tallennusmuoto
Pakettisäännöt tallennetaan tietokannan catalog_product_bundle_option.rules-kenttään. Kenttä on LONGTEXT, se voi olla NULL ja tietokanta tarkistaa JSONin kelvollisuuden. Hallintapaneelin lukupalvelu muuttaa puuttuvan arvon tyhjäksi listaksi [] ja palauttaa sekä jäsennetyn sääntölistan että alkuperäisen JSON-merkkijonon.
Verkkokaupan bundle-vastaus liittää säännöt vaihtoehtoon ja palauttaa tuotteet linked_products-listassa. Yleisnimitys _field_by_stack kokoaa minimi-, maksimi- ja täsmätyypit, mutta tallennettavan type-arvon pitää olla täydellinen sääntötyyppi. JSON-rakenne, vaihtoehtojen koodit ja kohdekentät muodostavat yhden sopimuksen; pelkkä kelvollinen JSON ei todista, että sen säännöt voidaan arvioida.
Hyödynnä pakettisääntöjä hallitusti
Pakettisääntöjen tarkoitus on estää mittojen, painon tai valintamäärän perusteella mahdottomat bundle-yhdistelmät ennen tilauksen muodostamista. Dynaaminen computedValue antaa saman kohdevaihtoehdon rajan muuttua määräävän vaihtoehdon valintojen mukana, joten erillistä kovakoodattua yhdistelmää ei tarvita jokaiselle määrälle. Useiden ehtojen AND-yhdistelyllä voidaan samalla rajata esimerkiksi sekä vähimmäis- että enimmäismitta.
Pakettisäännön käyttöönotto edellyttää vakaita vaihtoehdon koodeja, oikein täytettyjä tuoteominaisuuksia ja verkkokauppatestiä kaikilla raja-arvoilla. Dokumentoi käytetty sourceOptionCode, countMode, targetField, laskentaparametrit ja odotettu tulos. Näin sääntö voidaan tarkistaa myös silloin, kun pakettivaihtoehdon otsikko, linkitetyt tuotteet tai valintojen järjestys myöhemmin muuttuvat.