Grund: vad module-contacts är
module-contacts används för att visa kontaktpersoner i kortformat: foto, namn/roll och tydliga kontaktvägar.
I nuvarande implementation är detta en specialiserad innehållsprofil ovanpå blocks-strukturen, inte en separat render-pipeline.
Det gör modulen enkel att återanvända för team, avdelningar, partnernätverk och supportkontakter.
Val 1: struktur och obligatoriska nycklar
Top-level ligger i blocks med module_type: "module-contacts". Övrig struktur följer blocks-modellen med id, aria_label, section_title, columns och items[].
Varje kontaktkort i items[] använder normalt:
titleför roll/funktiontext_htmlför namn + kontaktlänkarimage.*för porträtt och alt-text
Bakgrund och sektionstitlar fungerar exakt som i module-blocks.
Val 2: layout, kolumner och kontakt-CTA
module-contacts är tänkt för visuell jämförelse mellan personer, så layout: flow och 2-4 kolumner är vanligast.
Kontaktvägar läggs typiskt i text_html som mailto: och tel:-länkar, eller i button.* när du vill ha en tydlig primär CTA per kort.
Om du använder många kontakter kan du växla till slider eller tabs eftersom modulen är kompatibel med samma layoutlägen som blocks.
Val 3: bilder, appearance och responsivt beteende
Porträttbilder i image.src går genom bildpipen och får auto-fält för responsiva källor (srcset/sizes).
Använd image.alt för verklig beskrivning av personen/rollen, inte bara namnupprepning. Det förbättrar både tillgänglighet och SEO.
appearance på item-nivå och display_below_desktop_class används för att finjustera hur korten beter sig mellan desktop och mobil.
Val 4: kompilatorbeteende och implementation
Det finns i nuläget ingen separat JS/HTML-branch för module-contacts i template-scriptet. Renderingen går via samma blocks-markup som andra blocks-variantmoduler.
Det innebär att normalisering av items[], auto-display, layout-lägen och bildmanifest följer samma regler som i module-blocks.
Praktiskt betyder det: vill du ändra hur kontaktkort beter sig tekniskt, görs det i blocks-pipelinen eller template-markup för blocks.
Val 5: schema, SEO och AI-optimering
För kontaktkort fungerar schema-upplägg med Person och/eller ContactPoint bra, kopplat till global Organization.
Håll varje kort semantiskt tydligt: namn/roll, ansvarsområde och korrekt direktkontakt. Undvik generiska rubriker som inte förklarar vem personen är.
Säkerställ att synlig kontaktinfo i korten matchar global kontaktdata så att sök och AI får konsekventa signaler.