Acceso denegado."; require_once 'layout_footer.php'; exit(); } $conn = db(); // --- Procesamiento de Formularios --- // Guardar visibilidad de columnas del Kanban if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['save_visibility'])) { $visible_columns = $_POST['visible_columns'] ?? []; $json_visible_columns = json_encode($visible_columns); $stmt = $conn->prepare("INSERT INTO configuracion (clave, valor) VALUES ('kanban_visible_columns', :valor) ON DUPLICATE KEY UPDATE valor = :valor"); $stmt->bindParam(':valor', $json_visible_columns); if ($stmt->execute()) { $_SESSION['success_message'] = 'Visibilidad de columnas actualizada.'; } else { $_SESSION['error_message'] = 'Error al actualizar la visibilidad.'; } header("Location: configuracion.php"); exit(); } // --- Carga de Datos para la Vista --- // Datos para la gestión de columnas $stmt_manage_columns = $conn->query("SELECT * FROM kanban_columns ORDER BY orden ASC"); $management_columns = $stmt_manage_columns->fetchAll(PDO::FETCH_ASSOC); // Datos para la visibilidad de columnas $stmt_visible = $conn->prepare("SELECT valor FROM configuracion WHERE clave = 'kanban_visible_columns'"); $stmt_visible->execute(); $config_row = $stmt_visible->fetch(PDO::FETCH_ASSOC); $visible_columns = $config_row ? json_decode($config_row['valor'], true) : []; $stmt_all_db_columns = $conn->query("SELECT nombre FROM kanban_columns ORDER BY orden ASC"); $available_columns_for_visibility = $stmt_all_db_columns->fetchAll(PDO::FETCH_COLUMN); // --- Datos para la GESTIÓN DE CONTENIDO DEL KANBAN --- $products = $conn->query("SELECT id, nombre FROM products ORDER BY nombre ASC")->fetchAll(PDO::FETCH_ASSOC); $kanban_columns_for_cards = $conn->query("SELECT id, nombre FROM kanban_columns ORDER BY orden, id")->fetchAll(PDO::FETCH_ASSOC); $info_cards = $conn->query(" SELECT ip.*, p.nombre as producto_nombre, kc.nombre as column_nombre FROM info_productos ip LEFT JOIN products p ON ip.producto_id = p.id LEFT JOIN kanban_columns kc ON ip.column_id = kc.id ORDER BY ip.orden, ip.id DESC ")->fetchAll(PDO::FETCH_ASSOC); // Mostrar mensajes de éxito o error if (isset($_SESSION['success_message'])) { echo "
".$_SESSION['success_message']."
"; unset($_SESSION['success_message']); } if (isset($_SESSION['error_message'])) { echo "
".$_SESSION['error_message']."
"; unset($_SESSION['error_message']); } ?>

Gestionar Contenido del Kanban

Aquí puedes crear, editar y eliminar las tarjetas de información que aparecen en el tablero Kanban.

Añadir Nueva Tarjeta
Sube una imagen para añadir o reemplazar la actual.
Tarjetas Existentes
Producto Imagen Texto Columna Acciones
No hay tarjetas creadas.
Imagen Eliminar

Imágenes de Cobertura

Banner de Cobertura

Imagen actual:

Banner de Cobertura

Banner de Cobertura Xpress

Imagen actual:

Banner de Cobertura Xpress

Gestionar Columnas del Kanban

Añadir Nueva Columna
Columnas Actuales
Orden Nombre Acciones
No hay columnas definidas.
Editar Eliminar

Configurar Visibilidad de Columnas en Kanban

Selecciona las columnas que quieres que sean visibles en el tablero Kanban principal.

>