Jump to content

(Solucionado) Enlaces bloque CMS no funcionan


Recommended Posts

¡Hola a todos!

Tengo una consulta sobre los enlaces del bloque CMS en un Prestashop 1.6.1.18 en tres idiomas.  Para uno de mis clientes he utilizado esta sección para poner el apartado legal y las condiciones de compra del sitio web. Actualizamos el sitio web a la última versión el pasado mes de marzo y en ese momento todos los enlaces funcionaban correctamente. 

 

El caso es que ayer, al revisar el contenido de la política de privacidad del web, nos hemos dado cuenta que el bloque CMS no funciona bien. Enlaza al ID del contenido pero en vez de mostrar el contenido aparece el tooltip de "Esta página no existe".

Creía que era un problema de reescritura pero...

  • He desactivado las URL amigables, y las he vuelto a reactivar y sucede lo mismo. Por lo tanto, no es un problema de reescritura de las URL.  De hecho, el .htacess se genera correctamente
  • He desactivado el modulo Clean URL (lo tenemos activado para eliminar la id del producto) para descartar que haya algún problema de compatibilidad con este modulo. Sigue con el problema. 
  • He modificado la estructura de reescritura de las URL especificando la ID de la página al final de ella ({id}-{rewrite} a {rewrite}-{id}). Tampoco aparece la página. 
  • He activado la opción del modulo multiview de Apache. Tampoco aparece la página. 
  • He activado la desactivación del modulo mod_security de Apache. Tampoco aparece la página. 
  • He intentado crear una página nueva con contenido y un título y URL que no existia y tampoco encuentra la página. 
  • Los contenidos creados con el CMS block tampoco funcionan sin URL amigables. 
  • Se ha desactivado y posteriormente eliminado y reinstalado el modulo CMS Block y se ha vuelto a comprobar todo lo anterior, paso por paso, y sigue pasando lo mismo. 

 

En cada una de las pruebas se ha limpiado la caché del Prestashop y del navegador. 

La única modificación que se ha realizado entre el pasado mes de marzo y ayer ha sido añadir un nuevo producto (no hay copia de seguridad antes de añadir el nuevo producto). Durante este período de tiempo no se ha actualizado nada más. 

 

La página en cuestión es https://www.columnamusica.com/es/legal 

 

He estado mirando en el foro, y veo que habitualmente se trata de un tema de reescritura de URL, pero en este caso sin las URLs amigables tampoco funciona. ¿Os habíais encontrado con un problema así?

 

¡Muchas gracias!

Edited by CherryCreative (see edit history)
Link to comment
Share on other sites

hace 21 horas, CherryCreative dijo:

¡Hola a todos!

Tengo una consulta sobre los enlaces del bloque CMS en un Prestashop 1.6.1.18 en tres idiomas.  Para uno de mis clientes he utilizado esta sección para poner el apartado legal y las condiciones de compra del sitio web. Actualizamos el sitio web a la última versión el pasado mes de marzo y en ese momento todos los enlaces funcionaban correctamente. 

 

El caso es que ayer, al revisar el contenido de la política de privacidad del web, nos hemos dado cuenta que el bloque CMS no funciona bien. Enlaza al ID del contenido pero en vez de mostrar el contenido aparece el tooltip de "Esta página no existe".

Creía que era un problema de reescritura pero...

  • He desactivado las URL amigables, y las he vuelto a reactivar y sucede lo mismo. Por lo tanto, no es un problema de reescritura de las URL.  De hecho, el .htacess se genera correctamente
  • He desactivado el modulo Clean URL (lo tenemos activado para eliminar la id del producto) para descartar que haya algún problema de compatibilidad con este modulo. Sigue con el problema. 
  • He modificado la estructura de reescritura de las URL especificando la ID de la página al final de ella ({id}-{rewrite} a {rewrite}-{id}). Tampoco aparece la página. 
  • He activado la opción del modulo multiview de Apache. Tampoco aparece la página. 
  • He activado la desactivación del modulo mod_security de Apache. Tampoco aparece la página. 
  • He intentado crear una página nueva con contenido y un título y URL que no existia y tampoco encuentra la página. 
  • Los contenidos creados con el CMS block tampoco funcionan sin URL amigables. 
  • Se ha desactivado y posteriormente eliminado y reinstalado el modulo CMS Block y se ha vuelto a comprobar todo lo anterior, paso por paso, y sigue pasando lo mismo. 

 

En cada una de las pruebas se ha limpiado la caché del Prestashop y del navegador. 

La única modificación que se ha realizado entre el pasado mes de marzo y ayer ha sido añadir un nuevo producto (no hay copia de seguridad antes de añadir el nuevo producto). Durante este período de tiempo no se ha actualizado nada más. 

 

La página en cuestión es https://www.columnamusica.com/es/legal 

 

He estado mirando en el foro, y veo que habitualmente se trata de un tema de reescritura de URL, pero en este caso sin las URLs amigables tampoco funciona. ¿Os habíais encontrado con un problema así?

 

¡Muchas gracias!

El modulo cleanURL (suponiendo que sea el siguiente modulo: https://github.com/faktiva/prestashop-clean-urls) te instala varios overrides, entre ellos el:

/override/controllers/front/CmsController.php

Es posible que haya existido algun error al desinstalar el módulo y no se haya eliminado el override que trae el mismo para las páginas CMS y que al desinstalarlo no se haya eliminado.

Respecto al formato de URL aunque hayas quitado el ID con el modulo en las páginas CMS, déjalo del siguiente modo:

Con el modulo instalado y el formato configurado en Preferencias -> SEO y URLS de las páginas de contenido asi:

info/{rewrite}

Adjunto Captura

id.png.ca02014fc7f77afc3d664f9bf85f6985.png

Tienes que entrar a la página mediante:

tuweb.com/prefijo_idioma/info/urlamigable(sinid)

Por ejemplo:

https://www.columnamusica.com/es/info/legal

Y tu estas intentando entrar directamente por:

https://www.columnamusica.com/es/legal 

Posiblemente hayas quitado "info" de la ruta de las páginas CMS en el formato, el cual debes colocarlo para distinguirlo de otras partes (puede ser info u otra palabra).

---

Si desinstalas el modulo cleanURL, el formato de URL para las páginas CMS es el siguiente (y debe ser):

content/{id}-{rewrite}

Siendo la url: tuweb.com/prefijo_idioma/content/id-urlamigable

PD: Si desinstalas el modulo que dices tener instalado para el tema las ids, limpia cache en parametros avanzados - rendimiento (boton superior)

---

 

Edited by nadie (see edit history)
  • Like 1
Link to comment
Share on other sites

¡Hola nadie!
¡Muchas gracias! ¡Ya está solucionado!

Efectivamente el modulo cleanURL es el que mencionaste. Y si, es cierto al activarlo te instala varios overrides (con muchas menos peticiones que el archivo original). 

El problema ha sido que el override del CMSController.php había "desaparecido" antes de detectar el error.  

Lo que hicimos fue ver de cuando era la última copia de seguridad del sitio web, pero esta era muy antigua.  Aun así, restaurando esta copia de seguridad en un espacio de pruebas se comprobó que en ese momento el CMS estaba funcionaba correctamente y accediendo a las herramientas de desarrollador, nos dimos cuenta que en el sitio de pruebas al cargar cualquier página de CMS el número de peticiones era mucho menor que el sitio de producción. 

Revisamos los overrides y, efectivamente, en el sitio de producción no había rastro del CMSController.php. Añadimos el archivo y todo ha vuelto a la normalidad. 

 

De nuevo.... ¡Muchas gracias!

Link to comment
Share on other sites

hace 21 minutos, CherryCreative dijo:

¡Hola nadie!
¡Muchas gracias! ¡Ya está solucionado!

Efectivamente el modulo cleanURL es el que mencionaste. Y si, es cierto al activarlo te instala varios overrides (con muchas menos peticiones que el archivo original). 

El problema ha sido que el override del CMSController.php había "desaparecido" antes de detectar el error.  

Lo que hicimos fue ver de cuando era la última copia de seguridad del sitio web, pero esta era muy antigua.  Aun así, restaurando esta copia de seguridad en un espacio de pruebas se comprobó que en ese momento el CMS estaba funcionaba correctamente y accediendo a las herramientas de desarrollador, nos dimos cuenta que en el sitio de pruebas al cargar cualquier página de CMS el número de peticiones era mucho menor que el sitio de producción. 

Revisamos los overrides y, efectivamente, en el sitio de producción no había rastro del CMSController.php. Añadimos el archivo y todo ha vuelto a la normalidad. 

 

De nuevo.... ¡Muchas gracias!

Un placer,

De todos modos es importante que coloques un nombre "delante" (info, paginas, etc..) como te comente para las páginas de contenido, ya que si, por ejemplo, el nombre de una categoría coincide con el nombre de una página de contenidos, creo que petaba (otra cosa es que lo hayan corregido) porque no distinguía (entre otras cuestiones).

PD: No se te olvide añadir la palabra "Solucionado": https://www.prestashop.com/forums/topic/269515-solucionado-¿como-poner-la-palabra-solucionado-en-el-titulo-del-tema/ al título del tema

Edited by nadie (see edit history)
  • Like 1
Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...