· ·
· ·
— Sommelier
·
· ·
Tus ediciones son un borrador hasta que publiques. Al pulsar Publicar cambios verás la lista de lo que cambió; al confirmar, queda en vivo al instante en tu servidor.
● cambio(s) sin publicar. Todo está publicado. No hay cambios pendientes.
La administración es 100% en línea: al confirmar, se actualizan directamente los archivos publicados en el servidor (sin descargar ni subir nada a mano). Funciona igual en tu servidor propio y en XAMPP.
Guía rápida del panel. Abre cada sección para ver el detalle. Tu rol actual: .
Se entra desde el botón “Iniciar sesión” del sitio (o agregando ?admin a la dirección), con usuario y contraseña. Hay dos cuentas:
El botón del ojo junto a la contraseña permite verla mientras la escribes. Para salir, botón Salir (arriba a la derecha).
Arriba se ve el resumen: visibles (aparecen en la carta), ocultos (no aparecen) e incompletos. Cada fila muestra tres indicadores:
Los botones Todos · Incompletos · Sin foto · Sin notas · Ocultos · Tipo… filtran el listado para encontrar rápido lo que falta por llenar. El botón Visible/Oculto de cada fila publica u oculta ese vino de la carta con un clic (recuerda Guardar y Publicar después). Editar abre la ficha completa y + Agregar vino crea uno nuevo.
La ficha está organizada en secciones plegables: Lo básico (nombre*, tipo*, precio, foto, visible), Origen (bodega, país, región, añada, uvas), Perfil (deslizadores 1-5 de potencia/acidez/taninos/afrutado, alcohol, crianza) y Notas por idioma. Los campos con * son obligatorios.
Escribe las notas del vino solo en español. Al pulsar Traducir del español se rellenan inglés, portugués y alemán. Al Guardar, si dejaste idiomas vacíos, también se traducen solos.
Los platillos están agrupados por categoría (Cortes, Tacos, etc.). En cada categoría, + Platillo agrega uno nuevo ya en su lugar. Escribe el nombre en español; en “Otros idiomas” están EN/PT/DE y el id.
“Marida con:” define qué estilos de vino recomienda la app para ese platillo (Tinto robusto, Blanco ligero, etc.). Esto alimenta directamente el buscador de maridaje que usan los comensales: marca todos los estilos que le queden bien al plato.
La sección Categorías (avanzado) permite renombrar categorías o crear nuevas.
Carta en PDF — genera la carta imprimible con los vinos visibles, agrupados por tipo y con precios. Inventario CSV — descarga una tabla con todos los vinos (se abre en Excel).
Guardar conserva tus cambios como borrador en esta computadora/navegador. Los clientes NO los ven todavía — es solo para no perder tu trabajo.
Para ponerlos en vivo, ve a la pestaña Publicar y pulsa “Publicar cambios”. Aparece una lista de todo lo que cambió (vinos nuevos, editados, eliminados, platillos). Revísala y pulsa “Confirmar y publicar”.
La administración es 100% en línea: al confirmar, se actualizan directamente los archivos publicados en el servidor (solo los que cambiaron: vinos y/o platillos + fotos nuevas), sin descargar ni subir nada a mano. Queda en vivo al instante — recarga la carta para verlo. Funciona igual en tu servidor propio y en XAMPP (ambos con PHP).
Si cierras la ventana con cambios sin publicar, el navegador te avisa. El aviso “● cambios sin publicar” te recuerda que hay trabajo pendiente.
admin/api/save.php (whitelist: solo vinos-*.json, dishes-*.json, etc., con validación y escritura atómica) y las fotos con admin/api/photo.php (solo images/bottles/*.webp). No se descarga ni sube nada a mano. Requiere que el servidor ejecute PHP (tu servidor propio y XAMPP lo hacen).lib/admin-config.js (navegador) y admin/api/_auth.php (servidor). Deben coincidir en ambos archivos. Genera el hash nuevo con tools/admin-hash.html y reemplázalo en los dos.admin edita y publica; sistemas además ve esta configuración técnica. El servidor lo refuerza (require_auth en cada endpoint; require_sistemas en los sensibles).brands.json lista las marcas; los datos de cada una viven en vinos-<marca>.json, dishes-<marca>.json y brand-<marca>.json. Al agregar una segunda marca, aparece un selector en la barra del panel y el sitio la carga con ?marca=<slug>.