Modifiers
Oversigt #
Modifiers er et kraftfuldt værktøj, der giver dig mulighed for at ændre produktdata efter synkroniseringen, uden at du behøver at få en udvikler til at foretage ændringer i data-feedet. Da det i øjeblikket er et eksperimentelt værktøj, er det kun det interne personale på clerk, der kan bruge det. Så kontakt venligst support, hvis du har brug for denne funktionalitet.
Det understøtter følgende kommandoer.
Kommando | Effekt |
---|---|
sæt | Tilføjer en attribut til alle produkter |
Slet | Fjerner en attribut på alle produkter |
update | Opdaterer en attribut på alle produkter |
type | Ændrer typen af en attribut på alle produkter |
split | Opdel en streng efter separator i en liste af strenge. |
udtryk | Evaluerer et udtryk i en attribut |
format | Formaterer en streng i en attribut |
lower | Formaterer en streng til alle små bogstaver |
upper | Formaterer en streng til alle store bogstaver |
Store bogstaver | Formaterer en streng til titelsætning med første tegn med stort begyndelsesbogstav |
Alle kommandoer understøtter også
Kommandoer #
Her er hver af kommandoerne med et eksempel, med variabler efter behov. Alle kommandoer har en type, der angiver, hvilken kommando der skal køres, og en attribut, der angiver, hvilken attribut kommandoen skal køres på.
Set #
Tager en ny_værdi, der viser, hvilken værdi attributten skal sættes til, kan både bruges som en ny attribut eller oven på en eksisterende for at erstatte den.
{
"type":"set",
"attribute": ATTRIBUTE,
"new_value": NEW_VALUE
}
Eksempel I dette eksempel vil jeg overskrive attributten ‘shown’, hvis produktet ikke er på lager.
{
"type": "set",
"attribute": "shown",
"new_value": "false",
"if": "stock < 1"
}
Før #
{
"id": 153,
"name": "Lineman Chute",
"stock" : 0,
"shown" : true,
"price": 200.00,
}
Efter #
{
"id": 153,
"name": "Lineman Chute",
"stock" : 0,
"shown" : false,
"price": 200.00,
}
Slet #
Sletter den givne attribut fra alle produkter.
{
"type":"delete",
"attribute": ATTRIBUTE
}
Eksempel Her vil jeg fjerne den viste attribut for alle produkter.
{
"type":"delete",
"attribute": "shown"
}
Før #
{
"id": 153,
"name": "Lineman Chute",
"shown": true,
"price": 200.00,
}
Efter #
{
"id": 153,
"name": "Lineman Chute",
"price": 200.00,
}
Opdatering #
Hvis du er ikke-teknisk, og du læser dette. Sæt dig ind i det, for vi bruger regex med biblioteket python.
Update tager attributten regexp, som er et regex-udtryk, der matcher nogle dele af attributten, og erstatter hver matchet gruppe med indholdet af replace_by. Her er et er et nyttigt værktøj, som du kan bruge til at lave din regex.
Et eksempel på en regex kunne være [/]+ med en replace_by på ’/’, hvilket ville tage alle steder i attributten, hvor der er flere /’er i træk, og erstatte dem med / i ental. Så https://test//tests bliver til https:/test/tests.
{
"type":"update",
"attribute": "ATTRIBUTE",
"regexp": "MATCH_REGEX",
"replace_by": "STRING",
}
Eksempel Her vil jeg fjerne en del af webadressen med en regex, der bearbejder den sidste del af webadressen og sørger for at undslippe /.
{
"type":"update",
"attribute": "url",
"regexp": "\/\/__example",
"replace_by": ""
}
Før #
{
"id": 153,
"name": "Lineman Chute",
"url": "https://example.domain/product/153//__example",
"price": 200.00
}
Efter #
{
"id": 153,
"name": "Lineman Chute",
"url": "https://example.domain/product/153",
"price": 200.00
}
Type #
Tillader ændring af typer i en attribut. Så hvis dataene er et tal, og du har brug for, at det er en streng, kan du bruge dette til at typecaste det.
{
"type":"type",
"attribute": "ATTRIBUTE",
"new_type": any of ["string", "int", "float", "boolean"]
}
Eksempel Her ændrer vi prisens type fra en streng til en float.
{
"type":"type",
"attribute": "price",
"new_type": "float"
}
Før #
{
"id": 153,
"name": "Lineman Chute",
"price": "200",
}
Efter #
{
"id": 153,
"name": "Lineman Chute",
"price": 200.00,
}
Opdel #
Giver mulighed for at opdele en streng med en separator i en liste af strenge. Standard er at opdele efter komma, hvis der ikke er angivet nogen separator.
{
"type":"split",
"attribute": "ATTRIBUTE",
"separator": "STRING"
}
Eksempel Her opdeler vi en attribut med kategorier.
{
"type":"split",
"attribute": "string_categories"
}
Før #
{
"id": 153,
"name": "Lineman Chute",
"string_categories": "lineman, chute"
}
Efter #
{
"id": 153,
"name": "Lineman Chute",
"string_categories":["lineman","chute"]
}
Format #
Giver mulighed for at oprette en formateret streng.
Dette kunne være at lave en ny værdi, der kaldes {pris} {valuta}.
Hvis de nødvendige data ikke er en attribut på produktet, kan du også tilføje den ekstra attribut til kommandoen.
{
"type":"format",
"attribute": ATTRIBUTE,
"new_value": VALUE_TO_SET,
... : ... #(can include more attributes that are needed for formating)
}
Eksempel Her vil jeg tilføje en valuta til slutningen af prisen, først skal jeg ændre typen til en streng, derefter injicere den formaterede syntaks, og så får jeg den til at formatere. Opdateringskommandoen tilføjer værdien i replace_by til slutningen af prisen.
[
{
"type":"format",
"attribute": "price_with_currency",
"new_value": "{price} {currency}"
}
]
Før #
{
"id": 153,
"name": "Lineman Chute",
"currency": "DKK",
"price": 200.00,
}
Efter #
{
"id": 153,
"name": "Lineman Chute",
"currency": "DKK",
"price": 200.00,
"price_with_currency": "200.00 DKK"
}
Udtryk #
Evaluerer et udtryk, der er i den givne attribut. Hvis der f.eks. er strengen ‘price * 0.8’ i en attribut, og vi kører et udtryk på den, vil resultatet være 80 % af det, der står i prisattributten.* 0.8’ i en attribut, og vi kører expression på den, vil resultatet være 80 % af det, der står i prisattributten.
[
{
"type": "expression",
"attribute": "price_alt",
"new_value": "price * 0.65"
}
]
Før #
{
"id": 153,
"name": "Lineman Chute",
"price": 200.00,
}
Efter #
{
"id": 153,
"name": "Lineman Chute",
"price": 200.00,
"price_alt": "130.0",
}
Hvis #
Hvis
Tilgængelige operatorer er:
Operator | Meaning |
---|---|
Match all products where the attribute is equal to value. | |
Match all products where the attribute is not equal to value. | |
Match all products where the attribute is greater than value. | |
Match all products where the attribute is greater than or equal to value. | |
Match all products where the attribute is less than value. | |
Match a substring in a string or an element in a list |
Når man sammenligner en attribut med en bestemt værdi, er syntaksen:
{
"type":"delete"
"attribute": ATTRIBUTE,
"if":"ATTRIBUTE OPERATOR VALUE"
}
Når man evaluerer en delstreng i en streng eller et element i en liste, er syntaksen:
{
"type":"delete"
"attribute": ATTRIBUTE,
"if":"VALUE in ATTRIBUTE"
}
Eksempel Sammenligning med en bestemt værdi
{
"type": "set",
"attribute": "shown",
"new_value": "false",
"if": "stock < 1"
}
Eksempel Tjekker en delstreng
{
"type": "set",
"attribute": "shown",
"new_value": "false",
"if": "'withdrawn' in name"
}
{
"type": "set",
"attribute": "shown",
"new_value": "false",
"if": "(stock < 1 and 'withdrawn' in name) or brand = 'Nike'"
}
Kombinationer #
Her er et eksempel på flere ændringer, der er kædet sammen. Her laver jeg en ny attribut ved navn *Evaluerer et udtryk, der er i den givne attribut. Hvis der f.eks. er strengen ‘price’ * for et bestemt produkt. Den tager både pris og valuta og laver et nyt felt med dem.
[{
"type":"set",
"attribute":"price_alt",
"new_value":"{price}{currency}",
"if":"id == 153"
},{
"type":"update",
"attribute":"price_alt",
"regexp":"o",
"replace_by":"i",
"if":"id == 153"
},{
"type":"format",
"attribute":"price_alt",
"currency":"DKK",
"if":"id == 153"
}]
Dette ville skabe et nyt felt kaldet *Evaluerer et udtryk, der er i den givne attribut. Hvis der f.eks. er strengen ‘price’ * med prisen og DKK til sidst.
Før #
{
"id": 153,
"name": "Lineman Chute",
"price": 200.00,
}
Efter #
{
"id": 153,
"name": "Lineman Chute",
"price": 200.00,
"price_alt": "200.00DKK"
}
Denne side er oversat af en hjælpsom AI, og der kan derfor være sproglige fejl. Tak for forståelsen.