Establecimientos: Código Postal 08872 (0)
La Competencia

La Competencia

Nuestras pizzas se caracterizan por seguir recetas tradicionales y sabores de siempre. Contamos con 43 especialidades de pizza disponibles en nuestra carta, con un sinfín de ingredientes combinados de una forma deliciosa

Aun no hay disponibles establecimientos en esta ubicación

Menú
Categorías
Opciones

© 2025 ConMenu.com - Todos los derechos reservados.
Cover Image
${establishment.nombre_establecimiento}

${direccionPartes[0]}
${direccionPartes[1]}

${horario} ${iconFavorito}
`); }); offset += 16; // Incrementar offset // Aplicar los filtros actuales a los nuevos elementos cargados const filtrosSeleccionados = obtenerFiltrosSeleccionados(); aplicarFiltros(filtrosSeleccionados); } else { $(window).off('scroll'); // Desactivar scroll infinito si no hay más datos } }, error: function () { console.error('Error al cargar más restaurantes.'); }, complete: function () { isLoading = false; } }); } const favoritosUsuario = []; function loadMoreRestaurants() { if (isLoading) return; isLoading = true; $.ajax({ url: '/grupos/loadMoreCP/1025/08872', method: 'GET', data: { offset: offset, limit: 16 }, success: function (data) { if (data.length > 0) { let nuevosItems = []; data.forEach(establishment => { // Separar dirección let direccionPartes = establishment.direccion ? establishment.direccion.split(' - ') : ['Dirección no disponible', '']; let horarioObj = establishment.horario || {}; const formatTime = (time) => time && time.includes(':') ? time.split(':').slice(0, 2).join(':') : '00:00'; let horario = ''; if (horarioObj.apertura === '0') { horario = ' Cerrado'; } else if (horarioObj.apertura === '1') { horario = ` ${formatTime(horarioObj.H1ini)}-${formatTime(horarioObj.H1fin)}`; } else if (horarioObj.apertura === '2') { horario = ` ${formatTime(horarioObj.H2ini)}-${formatTime(horarioObj.H2fin)}`; } else if (horarioObj.apertura === '3') { horario = ` ${formatTime(horarioObj.H1ini)}-${formatTime(horarioObj.H1fin)} / ${formatTime(horarioObj.H2ini)}-${formatTime(horarioObj.H2fin)}`; } else if (horarioObj.apertura === '4') { horario = ` ${formatTime(horarioObj.HCini)}-${formatTime(horarioObj.HCfin)}`; } else { horario = ` No especificado`; } const favorito = favoritosUsuario.includes(establishment.ID_establecimiento); const iconFavorito = ` `; // Crear elemento como jQuery object const $item = $(`
Cover Image
${establishment.nombre_establecimiento}

${direccionPartes[0]}
${direccionPartes[1]}

${horario} ${iconFavorito}
`); $('#restaurant-list').append($item); nuevosItems.push($item); }); offset += 16; // Aplicar filtros SÓLO a los nuevos elementos insertados const filtrosSeleccionados = obtenerFiltrosSeleccionados(); aplicarFiltros(filtrosSeleccionados, $(nuevosItems)); } else { $(window).off('scroll'); } }, error: function () { console.error('Error al cargar más restaurantes.'); }, complete: function () { isLoading = false; } }); } // Función para formatear las horas (quitar segundos) function formatearHora(hora) { if (!hora || hora === '00:00:00') return ''; return hora.substring(0, 5); // Devolver solo HH:MM } // Evento para detectar el final de la página y cargar más $(window).on('scroll', function () { const footerHeight = getFooterHeight(); if ($(window).scrollTop() + $(window).height() >= $(document).height() - footerHeight - 100) { loadMoreRestaurants(); } }); // Cargar los primeros restaurantes al inicializar loadMoreRestaurants(); }); document.addEventListener('DOMContentLoaded', function() { const dropdownItems = document.querySelectorAll('.dropdown-item'); const dropdownToggle = document.getElementById('dropdownMenuLink'); dropdownItems.forEach(item => { item.addEventListener('click', function(e) { const selectedText = this.getAttribute('data-value'); const iconElement = this.querySelector('i.fa-solid'); let iconHtml = ''; if (iconElement) { iconHtml = iconElement.outerHTML; } // Actualizamos el contenido del botón con icono y texto dropdownToggle.innerHTML = iconHtml + ' ' + selectedText; // No redirigimos manualmente. El enlace continuará con su comportamiento por defecto. }); }); }); $(document).ready(function () { $('#sugerenciaForm').submit(function (event) { event.preventDefault(); // Evita el envío normal del formulario let nombre = $('#nombreEstablecimiento').val().trim(); let info = $('#infoAdicional').val().trim(); let urlOrigen = $('#urlOrigen').val(); let captchaResponse = $("textarea[name='h-captcha-response'], textarea[name='g-recaptcha-response']").val(); if (nombre === "") { alert("Por favor, ingresa el nombre del establecimiento."); return; } if (!captchaResponse) { alert("Por favor completa el captcha."); return; } // Enviar el formulario por AJAX $.ajax({ url: '/establishments/submitSuggestion', type: 'POST', data: { nombre: nombre, informacion: info, url: urlOrigen, captcha: captchaResponse, csrf_token: $('meta[name="csrf_token"]').attr('content') // CSRF Token si es necesario }, success: function (response) { if (response.status === 'success') { alert("Gracias por tu sugerencia. La revisaremos pronto."); $('#sugerenciaForm')[0].reset(); let modal = bootstrap.Modal.getInstance($('#sugerirEstablecimientoModal')[0]); modal.hide(); } else { alert("Error: " + response.message); } }, error: function () { alert("Ocurrió un error al procesar la sugerencia. Por favor, inténtalo de nuevo más tarde."); } }); }); }); $(document).ready(function() { let currentRequest = null; // Variable para almacenar la petición AJAX actual function setupSearch($field, $suggestionList) { $field.on('input', function() { let term = $(this).val().trim(); if (term.length > 2) { console.log("Buscando: " + term); // Si hay una petición AJAX en curso, la cancelamos if (currentRequest !== null) { currentRequest.abort(); } // Nueva petición AJAX currentRequest = $.ajax({ url: '/establishments/suggestions', method: 'GET', data: { term: term }, dataType: 'json', success: function(data) { $suggestionList.empty(); if (data.length > 0) { data.forEach(function(item) { let li = $('
  • '); li.html(item.name + '
    ' + item.localizacion); li.on('click', function() { window.location.href = item.url; }); $suggestionList.append(li); }); // Agregar opción "Ver todos" si hay 10 resultados if (data.length === 10) { let liMore = $('
  • '); liMore.text('Ver todos los resultados'); liMore.on('click', function() { window.location.href = '/establishments/search?term=' + encodeURIComponent(term); }); $suggestionList.append(liMore); } $suggestionList.removeClass('d-none'); } else { $suggestionList.addClass('d-none'); } }, error: function(xhr, textStatus) { if (textStatus !== "abort") { $suggestionList.addClass('d-none'); } } }); } else { $suggestionList.addClass('d-none'); } }); // Oculta las sugerencias si se hace clic fuera $(document).on('click', function(e) { if (!$(e.target).closest($field).length && !$(e.target).closest($suggestionList).length) { $suggestionList.addClass('d-none'); } }); } // Configuración para escritorio const $desktopField = $('#searchField'); const $desktopSuggestions = $('#suggestions'); if ($desktopField.length && $desktopSuggestions.length) { setupSearch($desktopField, $desktopSuggestions); } // Configuración para móvil const $mobileField = $('#mobileSearchField'); const $mobileSuggestions = $('#mobileSuggestions'); if ($mobileField.length && $mobileSuggestions.length) { console.log("Configurando búsqueda en móvil"); setupSearch($mobileField, $mobileSuggestions); } // Redirigir la búsqueda con el botón de búsqueda $('form.d-flex').on('submit', function(e) { e.preventDefault(); let term = $('#searchField').val().trim(); if (term.length > 3) { window.location.href = '/establishments/search?term=' + encodeURIComponent(term); } }); }); -->