Shopify Metaobjects vs. Metafields, Hvad Er Forskellen?
Metafields og Metaobjects lyder næsten identiske, og det er en af de mest almindelige årsager til forvirring blandt Shopify-brugere, der vil tilpasse deres butik ud over de standard sections der kommer med deres tema. Forskellen handler i bund og grund om ejerskab og genbrug.
Metafields, data der hører til noget bestemt
Et metafield er en simpel, typebestemt værdi, der er knyttet til én specifik ressource, et produkt, en variant, en kunde, en ordre, en side eller et blogindlæg. Det bruges typisk til data, der er unik for netop den ressource, og som ikke skal deles med noget andet.
Eksempler kunne være materialesammensætning, pleje-instruktioner, eller garantiperiode på et bestemt produkt. Shopify levere endda en række færdige "standard"-definitioner til almindelige tilfælde som ISBN-numre og ingredienslister, så man ikke selv behøver at bygge datastrukturen fra bunden.
Metaobjects, data der genbruges på tværs
Et metaobject er derimod et selvstændigt objekt, der ikke er knyttet til en bestemt ressource fra starten. Det defineres én gang og kan derefter refereres fra flere forskellige produkter, sider eller sektioner samtidig.
Et eksempel kunne være en størrelsesguide, der gælder for 200 forskellige t-shirts. Bygger man den som et metaobject, opretter man guiden én gang, og hvert produkt peger blot tilbage til den samme guide via et metaobject-reference-metafield. Skal guiden opdateres senere, redigeres den ét sted, i stedet for 200 separate steder.
Hvornår man vælger det ene frem for det andet
Tommelfingerreglen er ret ligetil, spørg dig selv om dataen er unik for én ressource, eller om den skal deles på tværs af flere.
Er svaret, at dataen er specifikt for ét produkt og ikke skal genbruges andre steder, er et metafield det rigtige valg. Det gælder for eksempel et enkelt produkts vægt, farve eller varenummer.
Er svaret, at det samme indhold optræder flere steder, en forfatterprofil der refereres fra tyve blogindlæg, en forhandler der skal fremgå på flere sider, eller en variantstørrelse der bruges i kollektionsfiltre, er et metaobject det rigtige valg.
Den fejl, mange laver
Den mest almindelige fejl er at bruge metafields til data, der reelt burde have været et metaobject. Et konkret eksempel er en størrelsesguide bygget som et separat metafield på hvert af 200 produkter, hver indeholdende den samme information i JSON-format. Skal guiden opdateres, kræver det 200 individuelle redigeringer i stedet for én.
Den omvendte fejl findes også, men er mindre almindelig. At bruge et metaobject til data, der kun bruges ét sted og aldrig genbruges. Her tilføjer metaobject-laget bare unødvendig kompleksitet, hvor et almindeligt metafield ville have været simplere.
Kort opsummeret
Metafields udvider en eksisterende ressource med ekstra data. Metaobjects definerer en helt ny, selvstændig indholdstype, der kan refereres fra mange steder. Vælger man forkert, ender man typisk med enten dobbeltarbejde ved opdateringer (for mange metafields) eller unødvendig teknisk overhead (for mange metaobjects).
0 kommentarer