query("SELECT * FROM landing_pages WHERE id={$landing_id}")->fetch_assoc(); if (!$landing) die('Landing no existe'); $blocks = $conn->query("SELECT id,nombre,tipo FROM landing_blocks ORDER BY nombre ASC")->fetch_all(MYSQLI_ASSOC); // bloques ya asignados (por zona y posición) $assigned = []; $rs = $conn->query("SELECT lpb.id, lpb.block_id, lpb.zona, lpb.posicion, lb.nombre, lb.tipo FROM landing_page_blocks lpb JOIN landing_blocks lb ON lb.id=lpb.block_id WHERE lpb.landing_id={$landing_id} ORDER BY lpb.zona, lpb.posicion"); while($r=$rs->fetch_assoc()){ $assigned[$r['zona']][] = $r; } ?> Landing Builder (Drag & Drop)
← Volver a Landings

Builder:

Bloques disponibles
[]

Arrastra un bloque a una zona.

Header
['.htmlspecialchars($item['tipo']).'] '.htmlspecialchars($item['nombre']).'
'; } ?>
Main
['.htmlspecialchars($item['tipo']).'] '.htmlspecialchars($item['nombre']).'
'; } ?>
Footer
'; } ?>