-- 2 content-blokken (kop + rich-text + optionele foto) op de dienst-detailpagina's -- (/diensten/), ONDER de eerste alinea ("Wat we voor je doen"-sectie) en BOVEN de -- resultaat-galerij. Zelfde opzet als blok 1/2 op locatiepagina's: PortableText-editor met -- volledige opmaak (links, lijsten, vet), foto optioneel, om-en-om (zig-zag). Blok leeg = -- niet getoond. Bedoeld voor extra content op de Google Ads-landingspagina's. -- -- `ec_diensten` bestaat al (0009) -> ALTER TABLE + nieuwe _emdash_fields-rijen. De velden -- komen in het admin-formulier net na "included" (sort_order 16-21); de bestaande velden -- vanaf resultaat schuiven 6 op. Toepassen op remote D1: -- node node_modules/wrangler/bin/wrangler.js d1 execute helvoirt-db --remote --file migrations/0020_diensten_blocks.sql ALTER TABLE "ec_diensten" ADD COLUMN "blok1_heading" TEXT; ALTER TABLE "ec_diensten" ADD COLUMN "blok1_text" TEXT; ALTER TABLE "ec_diensten" ADD COLUMN "blok1_image" TEXT; ALTER TABLE "ec_diensten" ADD COLUMN "blok2_heading" TEXT; ALTER TABLE "ec_diensten" ADD COLUMN "blok2_text" TEXT; ALTER TABLE "ec_diensten" ADD COLUMN "blok2_image" TEXT; -- maak ruimte: schuif resultaat/aanpak/faq/seo 6 plekken op. UPDATE _emdash_fields SET sort_order = sort_order + 6 WHERE collection_id = '01KVA99538R5JTKEVHDYN32XD3' AND sort_order >= 16; INSERT INTO _emdash_fields (id, collection_id, slug, label, type, column_type, required, sort_order, searchable, translatable, widget) VALUES ('01KVZHZNC600G5M8DF1PZ2G3FB', '01KVA99538R5JTKEVHDYN32XD3', 'blok1_heading', 'Blok 1 · kop (optioneel)', 'string', 'TEXT', 0, 16, 0, 1, NULL), ('01KVZHZNC8TCCFMSYP0N4G3X8X', '01KVA99538R5JTKEVHDYN32XD3', 'blok1_text', 'Blok 1 · tekst (alinea)', 'portableText', 'JSON', 0, 17, 0, 1, NULL), ('01KVZHZNC8KKJAKEYHE2WZ3QKY', '01KVA99538R5JTKEVHDYN32XD3', 'blok1_image', 'Blok 1 · foto (optioneel)', 'image', 'TEXT', 0, 18, 0, 1, NULL), ('01KVZHZNC8202T54FVCTBKPSGX', '01KVA99538R5JTKEVHDYN32XD3', 'blok2_heading', 'Blok 2 · kop (optioneel)', 'string', 'TEXT', 0, 19, 0, 1, NULL), ('01KVZHZNC8N41RA1FNQQHJ5FFD', '01KVA99538R5JTKEVHDYN32XD3', 'blok2_text', 'Blok 2 · tekst (alinea)', 'portableText', 'JSON', 0, 20, 0, 1, NULL), ('01KVZHZNC87ZXZH0DWZ0TQ9C11', '01KVA99538R5JTKEVHDYN32XD3', 'blok2_image', 'Blok 2 · foto (optioneel)', 'image', 'TEXT', 0, 21, 0, 1, NULL);