Data

Modifiers

Lær at bruge modifikatorer.

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.

KommandoEffekt
sætTilføjer en attribut til alle produkter
SletFjerner en attribut på alle produkter
updateOpdaterer en attribut på alle produkter
typeÆndrer typen af en attribut på alle produkter
splitOpdel en streng efter separator i en liste af strenge.
udtrykEvaluerer et udtryk i en attribut
formatFormaterer en streng i en attribut
lowerFormaterer en streng til alle små bogstaver
upperFormaterer en streng til alle store bogstaver
Store bogstaverFormaterer en streng til titelsætning med første tegn med stort begyndelsesbogstav

Alle kommandoer understøtter også PLACEHOLDER_23 -klausulen. PLACEHOLDER_23 -klausulen kan føjes til hvad som helst med en erklæring, og kommandoen vil kun blive kørt på attributten, hvis erklæringen evalueres til true.

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 PLACEHOLDER_23 føjes til en af ovenstående kommandoer med en erklæring, vil kommandoen kun køre på attributter, hvor den givne erklæring evalueres til sand.

Tilgængelige operatorer er:

OperatorMeaning
PLACEHOLDER_27Match all products where the attribute is equal to value.
PLACEHOLDER_28Match all products where the attribute is not equal to value.
PLACEHOLDER_29Match all products where the attribute is greater than value.
PLACEHOLDER_30Match all products where the attribute is greater than or equal to value.
PLACEHOLDER_31Match all products where the attribute is less than value.
PLACEHOLDER_32Match 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"
}

PLACEHOLDER_23 Sætninger kan også grupperes ved hjælp af ‘og’/’eller’ i sætninger:

{
    "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.