{"id":10846,"date":"2026-09-01T22:06:52","date_gmt":"2026-09-01T22:06:52","guid":{"rendered":"https:\/\/c807xpress.com\/sv\/?page_id=10846"},"modified":"2026-09-01T22:07:43","modified_gmt":"2026-09-01T22:07:43","slug":"admin-catalogo-xl","status":"publish","type":"page","link":"https:\/\/c807xpress.com\/sv\/admin-catalogo-xl\/","title":{"rendered":"Admin Catalogo XL"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"10846\" class=\"elementor elementor-10846\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-98e84a5 elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"98e84a5\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ab7a254\" data-id=\"ab7a254\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b0fe7ed elementor-widget elementor-widget-html\" data-id=\"b0fe7ed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- Carga de FontAwesome para Iconos -->\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.1\/css\/all.min.css\">\n\n<div class=\"xl-admin-wrapper\">\n\n    <!-- 1. PANTALLA DE LOGIN -->\n    <div id=\"xl-login-box\" class=\"xl-login-card\">\n        <div class=\"xl-login-header\">\n            <h3>Acceso Administrativo<\/h3>\n            <p>Cat\u00e1logo XL - El Salvador<\/p>\n        <\/div>\n        <form id=\"xl-form-login\">\n            <div class=\"xl-input-group\">\n                <label for=\"xl-pass-input\">Contrase\u00f1a de acceso:<\/label>\n                <input type=\"password\" id=\"xl-pass-input\" placeholder=\"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\" required>\n            <\/div>\n            <div id=\"xl-login-error\" class=\"xl-error-msg\" style=\"display:none;\">\n                Contrase\u00f1a incorrecta. Int\u00e9ntalo nuevamente.\n            <\/div>\n            <button type=\"submit\" class=\"btn-login\"><i class=\"fa-solid fa-lock\"><\/i> Ingresar al Panel<\/button>\n        <\/form>\n    <\/div>\n\n    <!-- 2. PANEL DE ADMINISTRACI\u00d3N -->\n    <div id=\"xl-admin-panel\" class=\"xl-admin-container\" style=\"display: none;\">\n        <div class=\"xl-panel-header\">\n            <h2>Panel de Administraci\u00f3n - Cat\u00e1logo XL (SV)<\/h2>\n            <div class=\"xl-header-actions\">\n                <a href=\"https:\/\/c807xpress.com\/sv\/catalogo-xl\/\" target=\"_blank\" class=\"btn-ver-catalogo\">\n                    <i class=\"fa-solid fa-arrow-up-right-from-square\"><\/i> Ver Cat\u00e1logo\n                <\/a>\n                <button id=\"btn-cerrar-sesion\" class=\"btn-logout\">\n                    <i class=\"fa-solid fa-right-from-bracket\"><\/i> Cerrar Sesi\u00f3n\n                <\/button>\n            <\/div>\n        <\/div>\n        \n        <div class=\"xl-admin-topbar\">\n            <div class=\"search-box-wrapper\">\n                <i class=\"fa-solid fa-magnifying-glass search-icon\"><\/i>\n                <input type=\"text\" id=\"admin-buscar\" placeholder=\"Buscar productos...\">\n            <\/div>\n            <button id=\"btn-nuevo-prod\" class=\"btn-nuevo\">\n                <i class=\"fa-solid fa-plus\"><\/i> Agregar Nuevo Producto\n            <\/button>\n        <\/div>\n\n        <!-- Modal Formulario -->\n        <div id=\"modal-producto\" class=\"modal-admin\" style=\"display:none;\">\n            <div class=\"modal-content\">\n                <h3 id=\"modal-titulo\">Agregar Producto<\/h3>\n                <form id=\"form-producto\" enctype=\"multipart\/form-data\">\n                    <input type=\"hidden\" id=\"prod-id\">\n                    <input type=\"hidden\" id=\"prod-img-actual\">\n\n                    <p>\n                        <label>Producto:<\/label>\n                        <input type=\"text\" id=\"prod-nombre\" required placeholder=\"Nombre del producto\">\n                    <\/p>\n                    <p>\n                        <label>Categor\u00eda:<\/label>\n                        <select id=\"prod-cat\" required>\n                            <option value=\"\" disabled selected>Selecciona una categor\u00eda<\/option>\n                            <option value=\"Accesorios Del Hogar\">Accesorios Del Hogar<\/option>\n                            <option value=\"Camas\">Camas<\/option>\n                            <option value=\"Salas Y Sofas\">Salas Y Sofas<\/option>\n                            <option value=\"Juegos\">Juegos<\/option>\n                            <option value=\"Art\u00edculos De Oficina\">Art\u00edculos De Oficina<\/option>\n                            <option value=\"M\u00e1quinas Deportivas\">M\u00e1quinas Deportivas<\/option>\n                            <option value=\"Partes De Veh\u00edculos\">Partes De Veh\u00edculos<\/option>\n                            <option value=\"Almacenaje\">Almacenaje<\/option>\n                            <option value=\"Productos Ferreteros\">Productos Ferreteros<\/option>\n                            <option value=\"L\u00ednea Blanca Industrial\">L\u00ednea Blanca Industrial<\/option>\n                            <option value=\"L\u00ednea De Belleza\">L\u00ednea De Belleza<\/option>\n                        <\/select>\n                    <\/p>\n                    <p>\n                        <label>Medidas:<\/label>\n                        <input type=\"text\" id=\"prod-medidas\" placeholder=\"Ej: 120cm x 80cm x 45cm\">\n                    <\/p>\n                    <div style=\"display: flex; gap: 10px;\">\n                        <p style=\"flex: 1;\">\n                            <label>Tarifa Central ($):<\/label>\n                            <input type=\"number\" step=\"0.01\" id=\"prod-tarifa-central\" required placeholder=\"0.00\">\n                        <\/p>\n                        <p style=\"flex: 1;\">\n                            <label>Tarifa Depto. ($):<\/label>\n                            <input type=\"number\" step=\"0.01\" id=\"prod-tarifa-depto\" required placeholder=\"0.00\">\n                        <\/p>\n                    <\/div>\n                    <p>\n                        <label>Imagen del Producto:<\/label>\n                        <input type=\"file\" id=\"prod-img-file\" accept=\"image\/*\">\n                        <small id=\"preview-img-text\" style=\"display:none; color:#666; font-size:11px;\">Ya tiene una imagen asignada. Sube una nueva para reemplazarla.<\/small>\n                    <\/p>\n\n                    <div style=\"margin-top:20px; display:flex; gap:10px; justify-content:flex-end;\">\n                        <button type=\"button\" id=\"btn-cancelar\" class=\"btn-cancelar\"><i class=\"fa-solid fa-xmark\"><\/i> Cancelar<\/button>\n                        <button type=\"submit\" class=\"btn-guardar\"><i class=\"fa-solid fa-floppy-disk\"><\/i> Guardar Producto<\/button>\n                    <\/div>\n                <\/form>\n            <\/div>\n        <\/div>\n\n        <!-- Tabla Gestora -->\n        <div class=\"xl-table-wrapper\">\n            <table class=\"xl-tabla-admin\">\n                <thead>\n                    <tr>\n                        <th>ID<\/th>\n                        <th>Imagen<\/th>\n                        <th>Producto<\/th>\n                        <th>Categor\u00eda<\/th>\n                        <th>Tarifa Central<\/th>\n                        <th>Tarifa Depto.<\/th>\n                        <th style=\"text-align: center;\">Acciones<\/th>\n                    <\/tr>\n                <\/thead>\n                <tbody id=\"tbody-admin\">\n                    <tr><td colspan=\"7\" style=\"text-align:center; padding:20px;\"><i class=\"fa-solid fa-spinner fa-spin\"><\/i> Cargando productos...<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n        <\/div>\n    <\/div>\n\n<\/div>\n\n<style>\n.xl-admin-wrapper button, .xl-admin-wrapper a, .xl-admin-wrapper input, .xl-admin-wrapper th { text-transform: none !important; }\n.xl-admin-wrapper { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 20px 0; color: #333; }\n.xl-login-card { max-width: 380px; margin: 50px auto; background: #fff; padding: 30px; border-radius: 8px; box-shadow: 0 4px 20px rgba(0,0,0,0.12); border: 1px solid #e0e0e0; }\n.xl-login-header { text-align: center; margin-bottom: 20px; }\n.xl-login-header h3 { margin: 0; color: #1b4d3e; font-size: 22px; font-weight: bold; }\n.xl-login-header p { margin: 5px 0 0 0; color: #666; font-size: 13px; }\n.xl-input-group { margin-bottom: 15px; }\n.xl-input-group label { display: block; margin-bottom: 6px; font-weight: bold; font-size: 13px; color: #333; }\n.xl-input-group input { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 6px; box-sizing: border-box; font-size: 14px; }\n.btn-login { width: 100%; background: #1b4d3e; color: #fff; border: none; padding: 12px; font-weight: 600; border-radius: 6px; cursor: pointer; font-size: 14px; transition: all 0.2s ease; display: flex; align-items: center; justify-content: center; gap: 8px; }\n.btn-login:hover { background: #143a2e; }\n.xl-error-msg { background: #ffebee; color: #c62828; padding: 8px 12px; border-radius: 6px; font-size: 12px; margin-bottom: 15px; border: 1px solid #ffcdd2; text-align: center; }\n\n.xl-panel-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; border-bottom: 2px solid #1b4d3e; padding-bottom: 12px; flex-wrap: wrap; gap: 10px; }\n.xl-panel-header h2 { margin: 0; color: #1b4d3e; font-size: 20px; font-weight: 700; }\n.xl-header-actions { display: flex; gap: 10px; }\n.btn-ver-catalogo { background: #27ae60; color: #fff !important; text-decoration: none; padding: 8px 16px; border-radius: 6px; font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; transition: all 0.2s ease; }\n.btn-ver-catalogo:hover { background: #219653; transform: translateY(-1px); }\n.btn-logout { background: #d32f2f; color: #fff; border: none; padding: 8px 16px; border-radius: 6px; cursor: pointer; font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; transition: all 0.2s ease; }\n.btn-logout:hover { background: #b71c1c; transform: translateY(-1px); }\n\n.xl-admin-topbar { display: flex; gap: 15px; margin-bottom: 20px; flex-wrap: wrap; }\n.search-box-wrapper { flex: 1; min-width: 250px; position: relative; display: flex; align-items: center; }\n.search-box-wrapper input { width: 100%; padding: 10px 12px 10px 42px !important; border: 1px solid #ccc; border-radius: 6px; box-sizing: border-box; font-size: 14px; }\n.search-icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #888; font-size: 15px; pointer-events: none; }\n.btn-nuevo { background: #1b4d3e; color: #fff; border: none; padding: 10px 20px; font-weight: 600; border-radius: 6px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: all 0.2s ease; }\n.btn-nuevo:hover { background: #143a2e; transform: translateY(-1px); }\n\n.xl-table-wrapper { overflow-x: auto; border-radius: 8px; border: 1px solid #e0e0e0; }\n.xl-tabla-admin { width: 100%; border-collapse: collapse; text-align: left; background: #fff; }\n.xl-tabla-admin th { background: #1b4d3e; color: #fff; padding: 14px 12px; font-size: 14px; font-weight: 600; }\n.xl-tabla-admin td { border-bottom: 1px solid #eee; padding: 12px; vertical-align: middle; font-size: 14px; }\n.xl-tabla-admin tr:hover { background: #f8f9fa; }\n.img-thumb-admin { width: 48px; height: 48px; object-fit: contain; background: #f5f5f5; border-radius: 6px; border: 1px solid #eee; }\n\n.btn-editar { background: #1976d2; color: #fff; border: none; padding: 7px 14px; cursor: pointer; border-radius: 5px; font-weight: 600; font-size: 12px; display: inline-flex; align-items: center; gap: 6px; }\n.btn-editar:hover { background: #1565c0; }\n.btn-eliminar { background: #e53935; color: #fff; border: none; padding: 7px 14px; cursor: pointer; border-radius: 5px; font-weight: 600; font-size: 12px; display: inline-flex; align-items: center; gap: 6px; margin-left: 4px; }\n.btn-eliminar:hover { background: #c62828; }\n\n.modal-admin { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); display: flex; align-items: center; justify-content: center; z-index: 99999; }\n.modal-content { background: #fff; padding: 25px; border-radius: 8px; width: 480px; max-width: 90%; box-shadow: 0 4px 20px rgba(0,0,0,0.25); }\n.modal-content p { margin-bottom: 12px; }\n.modal-content label { display: block; font-weight: bold; margin-bottom: 4px; font-size: 13px; }\n.modal-content input, .modal-content select { width: 100%; padding: 8px 10px; box-sizing: border-box; border: 1px solid #ccc; border-radius: 6px; }\n\n.btn-guardar { background: #2e7d32; color: #fff; border: none; padding: 10px 18px; cursor: pointer; border-radius: 6px; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }\n.btn-guardar:hover { background: #1b5e20; }\n.btn-cancelar { background: #757575; color: #fff; border: none; padding: 10px 18px; cursor: pointer; border-radius: 6px; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }\n.btn-cancelar:hover { background: #616161; }\n<\/style>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n    const API_ADMIN = '\/api-xpress-gacela\/admin_catalogo_sv.php';\n    const loginBox = document.getElementById('xl-login-box');\n    const adminPanel = document.getElementById('xl-admin-panel');\n    const formLogin = document.getElementById('xl-form-login');\n    const loginError = document.getElementById('xl-login-error');\n    const passInput = document.getElementById('xl-pass-input');\n    const btnLogout = document.getElementById('btn-cerrar-sesion');\n\n    const tbody = document.getElementById('tbody-admin');\n    const modal = document.getElementById('modal-producto');\n    const form = document.getElementById('form-producto');\n    const inputBuscar = document.getElementById('admin-buscar');\n    const previewText = document.getElementById('preview-img-text');\n    const placeholderImg = \"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Crect width='40' height='40' fill='%3E%23eee'\/%3E%3C\/svg%3E\";\n\n    let adminPass = sessionStorage.getItem('xl_admin_pass_sv');\n\n    if (adminPass) {\n        verificarYMostrarPanel();\n    }\n\n    formLogin.addEventListener('submit', function (e) {\n        e.preventDefault();\n        loginError.style.display = 'none';\n        adminPass = passInput.value.trim();\n        verificarYMostrarPanel();\n    });\n\n    btnLogout.addEventListener('click', function () {\n        sessionStorage.removeItem('xl_admin_pass_sv');\n        adminPass = null;\n        passInput.value = '';\n        adminPanel.style.display = 'none';\n        loginBox.style.display = 'block';\n    });\n\n    function verificarYMostrarPanel() {\n        fetchSeguro(`${API_ADMIN}?action=listar`)\n            .then(res => {\n                if (res && res.status === 'success') {\n                    sessionStorage.setItem('xl_admin_pass_sv', adminPass);\n                    loginBox.style.display = 'none';\n                    adminPanel.style.display = 'block';\n                    renderTabla(res.data);\n                } else {\n                    mostrarErrorLogin();\n                }\n            })\n            .catch(() => mostrarErrorLogin());\n    }\n\n    function mostrarErrorLogin() {\n        sessionStorage.removeItem('xl_admin_pass_sv');\n        adminPass = null;\n        loginError.style.display = 'block';\n        loginBox.style.display = 'block';\n        adminPanel.style.display = 'none';\n    }\n\n    function fetchSeguro(url, options = {}) {\n        if (!options.headers) options.headers = {};\n        options.headers['X-ADMIN-PASS'] = adminPass;\n\n        return fetch(url, options).then(r => {\n            if (r.status === 401) {\n                mostrarErrorLogin();\n                return Promise.reject('Unauthorized');\n            }\n            return r.json();\n        });\n    }\n\n    function renderTabla(data) {\n        if (!data || data.length === 0) {\n            tbody.innerHTML = '<tr><td colspan=\"7\" style=\"text-align:center; padding:20px;\">No se encontraron registros.<\/td><\/tr>';\n            return;\n        }\n        tbody.innerHTML = '';\n        data.forEach(item => {\n            const jsonStr = JSON.stringify(item).replace(\/'\/g, \"&apos;\").replace(\/\"\/g, \"&quot;\");\n            const img = item.imagen_url || placeholderImg;\n\n            tbody.innerHTML += `\n                <tr>\n                    <td>${item.id}<\/td>\n                    <td><img decoding=\"async\" src=\"${img}\" class=\"img-thumb-admin\" onerror=\"this.src='${placeholderImg}'\"><\/td>\n                    <td><strong>${item.producto}<\/strong><br><small style=\"color:#666;\">Medidas: ${item.medidas || 'N\/A'}<\/small><\/td>\n                    <td>${item.categoria}<\/td>\n                    <td style=\"color:#2e7d32; font-weight:bold;\">$${parseFloat(item.tarifa_central).toFixed(2)}<\/td>\n                    <td style=\"color:#2e7d32; font-weight:bold;\">$${parseFloat(item.tarifa_departamental).toFixed(2)}<\/td>\n                    <td style=\"text-align: center;\">\n                        <button class=\"btn-editar\" onclick='editarProd(${jsonStr})'><i class=\"fa-solid fa-pen-to-square\"><\/i> Editar<\/button>\n                        <button class=\"btn-eliminar\" onclick=\"eliminarProd(${item.id})\"><i class=\"fa-solid fa-trash-can\"><\/i> Eliminar<\/button>\n                    <\/td>\n                <\/tr>\n            `;\n        });\n    }\n\n    function cargarAdmin(q = '') {\n        if (!adminPass) return;\n        fetchSeguro(`${API_ADMIN}?action=listar&q=${encodeURIComponent(q)}`)\n            .then(res => {\n                if (res && res.status === 'success') {\n                    renderTabla(res.data);\n                }\n            });\n    }\n\n    let timeoutBusqueda = null;\n    inputBuscar.addEventListener('input', function () {\n        clearTimeout(timeoutBusqueda);\n        timeoutBusqueda = setTimeout(() => cargarAdmin(this.value.trim()), 300);\n    });\n\n    document.getElementById('btn-nuevo-prod').addEventListener('click', () => {\n        form.reset();\n        document.getElementById('prod-id').value = '';\n        document.getElementById('prod-img-actual').value = '';\n        previewText.style.display = 'none';\n        document.getElementById('modal-titulo').innerText = 'Agregar Producto (SV)';\n        modal.style.display = 'flex';\n    });\n\n    document.getElementById('btn-cancelar').addEventListener('click', () => modal.style.display = 'none');\n\n    form.addEventListener('submit', function (e) {\n        e.preventDefault();\n        const id = document.getElementById('prod-id').value;\n        const formData = new FormData();\n        \n        formData.append('action', id ? 'actualizar' : 'crear');\n        if (id) formData.append('id', id);\n        \n        formData.append('producto', document.getElementById('prod-nombre').value);\n        formData.append('categoria', document.getElementById('prod-cat').value);\n        formData.append('medidas', document.getElementById('prod-medidas').value);\n        formData.append('tarifa_central', document.getElementById('prod-tarifa-central').value);\n        formData.append('tarifa_departamental', document.getElementById('prod-tarifa-depto').value);\n        formData.append('imagen_url_actual', document.getElementById('prod-img-actual').value);\n\n        const fileInput = document.getElementById('prod-img-file');\n        if (fileInput.files.length > 0) {\n            formData.append('imagen_file', fileInput.files[0]);\n        }\n\n        fetchSeguro(API_ADMIN, { method: 'POST', body: formData })\n            .then(res => {\n                if (res && res.status === 'success') {\n                    modal.style.display = 'none';\n                    cargarAdmin(inputBuscar.value.trim());\n                    mostrarAlerta(id ? 'Producto actualizado correctamente' : 'Producto guardado con \u00e9xito', 'exito');\n                } else {\n                    mostrarAlerta('Error al guardar datos', 'error');\n                }\n            });\n    });\n\n    window.editarProd = function (item) {\n        document.getElementById('prod-id').value = item.id;\n        document.getElementById('prod-nombre').value = item.producto;\n        document.getElementById('prod-cat').value = item.categoria;\n        document.getElementById('prod-medidas').value = item.medidas || '';\n        document.getElementById('prod-tarifa-central').value = item.tarifa_central;\n        document.getElementById('prod-tarifa-depto').value = item.tarifa_departamental;\n        document.getElementById('prod-img-actual').value = item.imagen_url || '';\n        previewText.style.display = item.imagen_url ? 'block' : 'none';\n        document.getElementById('modal-titulo').innerText = 'Editar Producto #' + item.id;\n        modal.style.display = 'flex';\n    };\n\n    window.eliminarProd = function (id) {\n        if (confirm('\u00bfEst\u00e1s seguro de eliminar este producto?')) {\n            const formData = new FormData();\n            formData.append('action', 'eliminar');\n            formData.append('id', id);\n\n            fetchSeguro(API_ADMIN, { method: 'POST', body: formData })\n                .then(res => {\n                    if (res && res.status === 'success') {\n                        cargarAdmin(inputBuscar.value.trim());\n                        mostrarAlerta('Producto eliminado correctamente', 'eliminar');\n                    }\n                });\n        }\n    };\n\n    function mostrarAlerta(mensaje, tipo = 'exito') {\n        let alertaBox = document.getElementById('xl-admin-toast');\n        if (!alertaBox) {\n            alertaBox = document.createElement('div');\n            alertaBox.id = 'xl-admin-toast';\n            alertaBox.style.cssText = `\n                position: fixed; top: 20px; right: 20px; padding: 14px 24px; border-radius: 6px;\n                color: #fff; font-size: 14px; font-weight: bold; z-index: 999999;\n                box-shadow: 0 4px 12px rgba(0,0,0,0.15); transition: all 0.3s ease; display: flex; align-items: center; gap: 8px;\n            `;\n            document.body.appendChild(alertaBox);\n        }\n\n        alertaBox.style.backgroundColor = tipo === 'exito' ? '#2e7d32' : (tipo === 'eliminar' ? '#d32f2f' : '#f57c00');\n        alertaBox.innerHTML = `${tipo === 'exito' ? '<i class=\"fa-solid fa-circle-check\"><\/i>' : (tipo === 'eliminar' ? '<i class=\"fa-solid fa-trash-can\"><\/i>' : '<i class=\"fa-solid fa-triangle-exclamation\"><\/i>')} ${mensaje}`;\n        alertaBox.style.opacity = '1';\n        alertaBox.style.transform = 'translateY(0)';\n\n        setTimeout(() => {\n            alertaBox.style.opacity = '0';\n            alertaBox.style.transform = 'translateY(-20px)';\n        }, 3000);\n    }\n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Acceso Administrativo Cat\u00e1logo XL &#8211; El Salvador Contrase\u00f1a de acceso: Contrase\u00f1a incorrecta. Int\u00e9ntalo nuevamente. Ingresar al Panel Panel de Administraci\u00f3n &#8211; Cat\u00e1logo XL (SV) Ver Cat\u00e1logo Cerrar Sesi\u00f3n Agregar Nuevo Producto Agregar Producto Producto: Categor\u00eda: Selecciona una categor\u00edaAccesorios Del HogarCamasSalas Y SofasJuegosArt\u00edculos De OficinaM\u00e1quinas DeportivasPartes De Veh\u00edculosAlmacenajeProductos FerreterosL\u00ednea Blanca IndustrialL\u00ednea De Belleza Medidas: Tarifa Central ($): Tarifa Depto. ($): Imagen del Producto: Ya tiene una imagen asignada. Sube una nueva para reemplazarla. Cancelar Guardar Producto ID Imagen Producto Categor\u00eda Tarifa Central Tarifa Depto. Acciones Cargando productos&#8230;<\/p>\n","protected":false},"author":18,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-10846","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Admin Catalogo XL - C807 Xpress El Salvador<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/c807xpress.com\/sv\/admin-catalogo-xl\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Admin Catalogo XL - C807 Xpress El Salvador\" \/>\n<meta property=\"og:description\" content=\"Acceso Administrativo Cat\u00e1logo XL &#8211; El Salvador Contrase\u00f1a de acceso: Contrase\u00f1a incorrecta. Int\u00e9ntalo nuevamente. Ingresar al Panel Panel de Administraci\u00f3n &#8211; Cat\u00e1logo XL (SV) Ver Cat\u00e1logo Cerrar Sesi\u00f3n Agregar Nuevo Producto Agregar Producto Producto: Categor\u00eda: Selecciona una categor\u00edaAccesorios Del HogarCamasSalas Y SofasJuegosArt\u00edculos De OficinaM\u00e1quinas DeportivasPartes De Veh\u00edculosAlmacenajeProductos FerreterosL\u00ednea Blanca IndustrialL\u00ednea De Belleza Medidas: Tarifa Central ($): Tarifa Depto. ($): Imagen del Producto: Ya tiene una imagen asignada. Sube una nueva para reemplazarla. Cancelar Guardar Producto ID Imagen Producto Categor\u00eda Tarifa Central Tarifa Depto. Acciones Cargando productos&#8230;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/c807xpress.com\/sv\/admin-catalogo-xl\/\" \/>\n<meta property=\"og:site_name\" content=\"C807 Xpress El Salvador\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/C807XpressSV\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-01T22:07:43+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/admin-catalogo-xl\\\/\",\"url\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/admin-catalogo-xl\\\/\",\"name\":\"Admin Catalogo XL - C807 Xpress El Salvador\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/#website\"},\"datePublished\":\"2026-09-01T22:06:52+00:00\",\"dateModified\":\"2026-09-01T22:07:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/admin-catalogo-xl\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/c807xpress.com\\\/sv\\\/admin-catalogo-xl\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/admin-catalogo-xl\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Admin Catalogo XL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/#website\",\"url\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/\",\"name\":\"C807 Xpress El Salvador\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/#organization\",\"name\":\"C807 Xpress El Salvador\",\"url\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/11\\\/Logotip-C807-Xpress.png\",\"contentUrl\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/11\\\/Logotip-C807-Xpress.png\",\"width\":2046,\"height\":713,\"caption\":\"C807 Xpress El Salvador\"},\"image\":{\"@id\":\"https:\\\/\\\/c807xpress.com\\\/sv\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/C807XpressSV\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Admin Catalogo XL - C807 Xpress El Salvador","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/c807xpress.com\/sv\/admin-catalogo-xl\/","og_locale":"es_ES","og_type":"article","og_title":"Admin Catalogo XL - C807 Xpress El Salvador","og_description":"Acceso Administrativo Cat\u00e1logo XL &#8211; El Salvador Contrase\u00f1a de acceso: Contrase\u00f1a incorrecta. Int\u00e9ntalo nuevamente. Ingresar al Panel Panel de Administraci\u00f3n &#8211; Cat\u00e1logo XL (SV) Ver Cat\u00e1logo Cerrar Sesi\u00f3n Agregar Nuevo Producto Agregar Producto Producto: Categor\u00eda: Selecciona una categor\u00edaAccesorios Del HogarCamasSalas Y SofasJuegosArt\u00edculos De OficinaM\u00e1quinas DeportivasPartes De Veh\u00edculosAlmacenajeProductos FerreterosL\u00ednea Blanca IndustrialL\u00ednea De Belleza Medidas: Tarifa Central ($): Tarifa Depto. ($): Imagen del Producto: Ya tiene una imagen asignada. Sube una nueva para reemplazarla. Cancelar Guardar Producto ID Imagen Producto Categor\u00eda Tarifa Central Tarifa Depto. Acciones Cargando productos&#8230;","og_url":"https:\/\/c807xpress.com\/sv\/admin-catalogo-xl\/","og_site_name":"C807 Xpress El Salvador","article_publisher":"https:\/\/www.facebook.com\/C807XpressSV","article_modified_time":"2026-09-01T22:07:43+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/c807xpress.com\/sv\/admin-catalogo-xl\/","url":"https:\/\/c807xpress.com\/sv\/admin-catalogo-xl\/","name":"Admin Catalogo XL - C807 Xpress El Salvador","isPartOf":{"@id":"https:\/\/c807xpress.com\/sv\/#website"},"datePublished":"2026-09-01T22:06:52+00:00","dateModified":"2026-09-01T22:07:43+00:00","breadcrumb":{"@id":"https:\/\/c807xpress.com\/sv\/admin-catalogo-xl\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/c807xpress.com\/sv\/admin-catalogo-xl\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/c807xpress.com\/sv\/admin-catalogo-xl\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/c807xpress.com\/sv\/"},{"@type":"ListItem","position":2,"name":"Admin Catalogo XL"}]},{"@type":"WebSite","@id":"https:\/\/c807xpress.com\/sv\/#website","url":"https:\/\/c807xpress.com\/sv\/","name":"C807 Xpress El Salvador","description":"","publisher":{"@id":"https:\/\/c807xpress.com\/sv\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/c807xpress.com\/sv\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/c807xpress.com\/sv\/#organization","name":"C807 Xpress El Salvador","url":"https:\/\/c807xpress.com\/sv\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/c807xpress.com\/sv\/#\/schema\/logo\/image\/","url":"https:\/\/c807xpress.com\/sv\/wp-content\/uploads\/sites\/2\/2023\/11\/Logotip-C807-Xpress.png","contentUrl":"https:\/\/c807xpress.com\/sv\/wp-content\/uploads\/sites\/2\/2023\/11\/Logotip-C807-Xpress.png","width":2046,"height":713,"caption":"C807 Xpress El Salvador"},"image":{"@id":"https:\/\/c807xpress.com\/sv\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/C807XpressSV"]}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/c807xpress.com\/sv\/wp-json\/wp\/v2\/pages\/10846","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/c807xpress.com\/sv\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/c807xpress.com\/sv\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/c807xpress.com\/sv\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/c807xpress.com\/sv\/wp-json\/wp\/v2\/comments?post=10846"}],"version-history":[{"count":4,"href":"https:\/\/c807xpress.com\/sv\/wp-json\/wp\/v2\/pages\/10846\/revisions"}],"predecessor-version":[{"id":10850,"href":"https:\/\/c807xpress.com\/sv\/wp-json\/wp\/v2\/pages\/10846\/revisions\/10850"}],"wp:attachment":[{"href":"https:\/\/c807xpress.com\/sv\/wp-json\/wp\/v2\/media?parent=10846"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}