/** * Targgio Clasificados v3 - Página principal * * Página de inicio que muestra productos destacados y categorías principales * Utiliza la vista unificada v3class_anuncios_unificados * * Fecha: 28-04-2025 * Hora: 19:00 (Panamá) */ // Incluir archivo de utilidades require_once '/home/targgio1/public_html/clasificados/includes/utils.php'; // Incluir archivo de configuración require_once '/home/targgio1/confg/db_config.php'; // Definir la ruta base para imágenes de anuncios define('ANUNCIOS_UPLOADS_URL', 'https://www.targgio.com/publicar/uploads/'); // Establecer conexión a la base de datos try { $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); // Verificar errores de conexión if ($conn->connect_error) { die("Error de conexión: " . $conn->connect_error); } // Establecer juego de caracteres $conn->set_charset("utf8mb4"); // Obtener productos destacados (máximo 8) $sqlDestacados = " SELECT unified_id, original_id, titulo, descripcion, precio, destacado, precio_remate, tipo_imagen, ruta_imagen, source_table FROM v3class_anuncios_unificados WHERE (source_table = 'itemprices' AND destacado = 1) OR (source_table = 'v3class_anuncios' AND destacado = 1) ORDER BY original_id DESC LIMIT 8 "; $resultDestacados = $conn->query($sqlDestacados); // Obtener categorías principales $sqlCategorias = " SELECT c.id, c.nombre, c.descripcion, c.slug, (SELECT COUNT(*) FROM v3class_vista_unificada_productos WHERE categoria_id = c.id) AS total_productos FROM v3class_categorias c WHERE c.nivel = 1 AND c.activo = 1 ORDER BY c.orden, c.nombre LIMIT 6 "; $resultCategorias = $conn->query($sqlCategorias); // Obtener productos recientes $sqlRecientes = " SELECT unified_id, original_id, titulo, descripcion, precio, destacado, precio_remate, tipo_imagen, ruta_imagen, source_table FROM v3class_anuncios_unificados ORDER BY original_id DESC LIMIT 8 "; $resultRecientes = $conn->query($sqlRecientes); // Obtener estadísticas $sqlEstadisticas = " SELECT (SELECT COUNT(*) FROM v3class_anuncios_unificados) AS total_productos, (SELECT COUNT(*) FROM v3class_categorias WHERE activo = 1) AS total_categorias "; $resultEstadisticas = $conn->query($sqlEstadisticas); $estadisticas = $resultEstadisticas->fetch_assoc(); } catch (Exception $e) { $error = "Error: " . $e->getMessage(); } // Función para obtener la URL de imagen según el tipo function obtenerUrlImagen($producto) { $prefijo = substr($producto['unified_id'], 0, 1); $idOriginal = substr($producto['unified_id'], 1); if ($prefijo == 'I') { // Para productos de inventario (itemprices) return "imagen.php?id=" . $idOriginal . "&num=1"; } else { // Para productos de anuncios (v3class_anuncios) if (!empty($producto['ruta_imagen'])) { // Verificar si la ruta ya incluye el dominio completo if (strpos($producto['ruta_imagen'], 'http') === 0) { return $producto['ruta_imagen']; } else { // Añadir la ruta base si solo es una ruta relativa return ANUNCIOS_UPLOADS_URL . $producto['ruta_imagen']; } } else { // Si no hay imagen, usar placeholder return 'assets/img/placeholder-item.jpg'; } } } // Función para obtener URL de detalle function obtenerUrlDetalle($producto) { $prefijo = substr($producto['unified_id'], 0, 1); $idOriginal = substr($producto['unified_id'], 1); if ($prefijo == 'I') { return "detalle.php?id=" . $idOriginal; } else { // URL para anuncios (por ahora usamos el mismo detalle con un parámetro adicional) return "detalle.php?id=" . $idOriginal . "&tipo=anuncio"; } } // Establecer título de la página $tituloPagina = "Targgio Clasificados - Encuentra lo que buscas"; // Incluir encabezado include_once '/home/targgio1/public_html/clasificados/includes/header.php'; ?>