Jump to content

Recommended Posts

Hola. 

Veréis, tenemos un problema con el orden de las subcategorías por posición (versión Prestashop 1.7.6.5). En algunas categorías tenemos más de 100 subcategorías, por tanto, se muestras en dos páginas porque el máximo a mostrar es 100. Cuando voy a ordenar las subcategorías de la segunda página no hay manera, se mezclan con las de las primera.

Por ejemplo: La subcategoría que está en la 158 quiero subirla a la 125; la muevo, se coloca bien (sale arriba Actualización correcta) y al actualizar página ha desaparecido en página 2 y está en página 1 en el puesto 25.

¿Es un problema generalizado de la versión? ¿Tiene solución?

 

 

Link to comment
Share on other sites

Hola, no pienses que nadie tiene en cuenta tu problema es que es muy dificil de emular en un servidor local para hacer pruebas de base, quién tiene 100 subcategorías. Aparte eso, haz una prueba con una versión 1.7.8 e importa todas las subcategorías a ver si se reproduce el error.

 

  • Like 1
Link to comment
Share on other sites

  • 7 months later...

Necesitaría una url a tu tienda, creo que todo se puede arreglar con un ajuste en el tema de tu tienda. Digamos que tienes 128 subcategorías, eso son muchísimas, lo que habría que hacer es coger las 30 o 20 o 40 primeras y darle la oportunidad al cliente de ver más. Y si quiere verlas, en fin, allá él, pero lo normal es que vea las 30 primeras, hace click en más ya muestras todas del tirón por posición una detrás de otra. De ese modo, todos contentos, tus clientes y tú, pero sinceramente si por necesidades de tu tipo de negocio no puedes reducirlas (yo las reduciría al máximo) buscaría una alternativa para que fuera lo menos intrusivo para tus clientes (ahora es brutal).

Un saludo y que tengas un gran día,

 

Link to comment
Share on other sites

Hola

Nuestra pagina es mjcorse.com y por ejemplo en la categoria piñones tenemos 110 marcas y aparecen todas en el modulo de buscador https://mjcorse.com/es/search-products/373_pinones y para que sea fácil para el cliente necesitamos ordenarlas para que aparezcan por orden alfabético, pero cuando las ordenamos la pagina no guarda los cambios

Gracias y un saludo

Link to comment
Share on other sites

Estoy dándote una solución, pero no es eficaz en el sentido de que quizás precises de un override. PrestaShop no recomienda overrides, yo tampoco los hago en mis módulos, pero te comento la solución por si quieres hacerlo. En concreto en la carpeta class/category.php, en la función public function getSubCategories

Alrededor de la línea 921 según tu versión de Prestashop cambiar:

ORDER BY `level_depth` ASC, category_shop.`position` ASC');

a:

ORDER BY cl.`name`, `level_depth` ASC, category_shop.`position` ASC');

Esto fuerza a mostrar las subcategorías en orden ascendente ortográfico.

Debería mostrarte las subcategorías en orden ortográfico tal y como solicitabas, a nivel visual tampoco me gusta mucho tu página. Todas las categorías ahí mostradas hasta el infinito, sería ideal hacer un poco de magia javascript y retocar el template para solo mostrar quizás las 10 primeras y 3 puntos por si el cliente quiere ver el resto. Queda mejor visualmente y no satura la página innecesariamente, sobre todo para dispositivos móviles. Esto es más complicado y no te lo pongo por aquí, pero no demasiado, suele usarse habitualmente en módulos.

Un saludo y que tengas un gran día.

 

Link to comment
Share on other sites

Saludos, ¿habéis resuelto el problema? Hace 6 días que no obtuve ninguna respuesta. Si es así, el que inició el tema que ponga SOLUCIONADO sino no dudéis en preguntar. Gracias por formar parte de la comunidad. Un saludo.

Link to comment
Share on other sites

 

On 7/4/2023 at 12:03 PM, Yelish said:

Estoy dándote una solución, pero no es eficaz en el sentido de que quizás precises de un override. PrestaShop no recomienda overrides, yo tampoco los hago en mis módulos, pero te comento la solución por si quieres hacerlo. En concreto en la carpeta class/category.php, en la función public function getSubCategories

Alrededor de la línea 921 según tu versión de Prestashop cambiar:

ORDER BY `level_depth` ASC, category_shop.`position` ASC');

a:

ORDER BY cl.`name`, `level_depth` ASC, category_shop.`position` ASC');

Esto fuerza a mostrar las subcategorías en orden ascendente ortográfico.

Debería mostrarte las subcategorías en orden ortográfico tal y como solicitabas, a nivel visual tampoco me gusta mucho tu página. Todas las categorías ahí mostradas hasta el infinito, sería ideal hacer un poco de magia javascript y retocar el template para solo mostrar quizás las 10 primeras y 3 puntos por si el cliente quiere ver el resto. Queda mejor visualmente y no satura la página innecesariamente, sobre todo para dispositivos móviles. Esto es más complicado y no te lo pongo por aquí, pero no demasiado, suele usarse habitualmente en módulos.

Un saludo y que tengas un gran día.

 

Hola

Gracias por su ayuda, pero solo encontramos el archivo category.php en la dirección public_html/modules/ph_simpleblog/controllers/front/category.php, le damos a editar, pero solo aparece un archivo con 14 líneas y en ninguna aparece una linea que contenga ORDER BY `level_depth` ASC, category_shop.`position` ASC');

No tenemos grandes conocimientos de programación, pero lo que nos dice no parece complicado, pero algo no estamos haciendo bien que no lo encontramos, si es tan amable y nos puede ayudar a como encontrar el archivo le estaremos muy agradecidos

Gracias y un saludo

Link to comment
Share on other sites

Hola

Ya hemos encontrado el archivo y en la linea 921 hemos puesto ORDER BY cl.`name`, `level_depth` ASC, category_shop.`position` ASC');  hemos borrado la cache de la pagina web pero las categorías no aparecen en por orden ortográfico

Alguna sugerencia de algo que no hemos echo bien?

Gracias y un saludo

Link to comment
Share on other sites

No tiene sentido, pero igual poner ORDER BY cl.`name` ASC,

pero ya te digo que igual pese a haber borracho el caché, este persiste, muchas veces, el modo seguro es borrar físicamente la caché, pero para mayor indicación necesitaría conocer tu versión de PrestaShop. Saludos.

Link to comment
Share on other sites

Hola, qué tal? La línea 921 debería quedar tal que así:

ORDER BY cl.`name` ASC, `level_depth` ASC, category_shop.`position` ASC');

El archivo en cuestión a modificar es: \classes\Category.php

Es importante borrar la caché, desde Parámetros avanzados > Rendimiento. Aparte de que quizás en ocasiones no funcione y haya que borrar fisicamente la caché (muy poco común), ¿es posible que tengas algún módulo para las categorías? Creo que eso es lo que ocurre, si me pasas el módulo te puedo comentar qué debes cambiar para que funcione o pasarte el archivo directamente cambiado. Debe ser eso, porque lo acabo de probar en mi servidor de pruebas 1.7.8.8 y los cambios anteriormente reseñados funcionan perfectamente. Un saludo.

 

Link to comment
Share on other sites

Hola

He puesto ORDER BY cl.`name` ASC, `level_depth` ASC, category_shop.`position` ASC'); he borrado la cache desde Parámetros avanzados > Rendimiento pero no ha cambiado nada

Envió una captura de pantalla de como se ha quedado el cambio y otra captura de los módulos que hay para las categorías

category.php_modificacion_2.thumb.jpg.dbe89d62bfd4d6090c6cb9f8572306c1.jpg

 

Modulos de categorias.JPG

Gracias y un saludo

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

Hola, ¿qué tal? Lamento no haber conectado antes pero he estado liado. Está perfecto el código y coincide con el mio en el servidor de pruebas, el responsable debe ser uno de los módulos, olvida aquellos hechos por PrestaShop porque no hacen overrides. El ganador tiene que ser WK Advanced Search By Categories, ¿puedes ver si hace un override de la clase Category o de su controlador? Si es así, casi con total seguridad impide que ejecutes el nuevo comando introducido en la clase category. Un saludo y ya me comentas.

Link to comment
Share on other sites

No me has entendido, lo que me gustaría saber es si el módulo que te he señalado hace un override de la clase Category, debería estar en:

modules/<nombre del módulo>/override/classes/category.php. O quizás también de un controlador en modules/<nombre del modulo>/override/controllers

Si hace un override de la función que pretendemos cambiar, PrestaShop no la va a procesar.

Un saludo.

 

Link to comment
Share on other sites

Un override es un archivo que un módulo hace de una clase, o controlador, del núcleo de PrestaShop vulnerando lo que dijo PrestaShop en sus  recomendaciones para PrestaShop 1.7 y 8 (no usar overrides) porque impiden la ejecución de otros módulos que usan limpiamente las clases existentes. Me ha pasado más de una vez y estoy de acuerdo con PrestaShop, ahora tengo reports por módulos que usan overrides.

Yo, los borraría. Un saludo.

 

Link to comment
Share on other sites

Hola, acabo de revisar de nuevo tu web, y a mi al menos me aparecen las categorías ordenadas alfabéticamente tal y como te dije, te adjunto archivo de una copia de pantalla de tu web. Efectivamente el módulo en cuestión no tiene overrides, no sé me ocurrió comprobar tu web, lo que no entiendo es por qué dices que no aparecen las subcategorías ordenadas alfabéticamente. Como puedes ver, dentro de la categoría piñones, todas las subcategorías aparecen alfabéticamente ordenadas, los productos es otro tema, aparecen por defecto como relevancia que es el orden en que se insertaron en la categoría. Un saludo.

Screenshot2023-07-18at16-40-29Pionesparamotos-MJCorse.thumb.png.306992ab684ba6b89d74d6020b3e3bdf.png

Link to comment
Share on other sites

Hola, ¿qué tal? Dicen que las imágenes valen más que mil palabras y es cierto. No nos estábamos entendiendo. Las sub-categorías si aparecen correctamente ordenadas alfabéticamente, como puedes comprobar con mi imagen anterior,  lo que no aparece ordenado es el buscador que tienes personalizado. Eso lo hace un módulo, supongo que el que me comentaste antes: wkextsearch. Para poderte decir qué cambiar en el módulo necesitaría disponer físicamente del módulo, otra opción sería que contactaras con el desarrollador y le pidieras a él exactamente lo que me has dicho. Ya a tu elección. Un saludo y que tengas un gran día.

Link to comment
Share on other sites

Hola

El modulo creo que no tiene nada que, en la imagen que pongo, es la administración de la pagina web y es tal cual aparecen las sub-categorías y no hay forma de ponerlas por orden alfabético, el buscador solo muestra el orden en el que están puestos en la administración de la pagina web

Sub-categoriasAdministracionPiones.thumb.JPG.c48e816b22229d2a45e75ce69feeee7d.JPG

Gracias y un saludo

Link to comment
Share on other sites

Y? Qué tiene que ver? Una cosa es el front donde se muestra tu tienda, y otra el backoffice, donde tu gestionas las cosas. Vamos a ver, al final, no nos entendemos, ¿eh? En tu front (tu tienda) hay un buscador, el típico buscador por categorías, eso lo ha implementado un módulo porque en PrestaShop 1.7.8.8 no existe, ergo, ese módulo está lanzando el listado ese tan bonito que ves en un campo seleccion con un orden equivocado (bueno, digamos que el que tú no quieres). Empecemos desde ahí. Un saludo.

PD: Yo no puedo entrar en tu backoffice, yo no puedo ver tus módulos, ni tu site, solo puedo ayudarte en la medida en que tú me aportes información.

Un saludo.

Link to comment
Share on other sites

Hola, ¿qué tal? Se me hace mal no haberte ayudado mucho. Te comento lo que he averiguado de lo que pretendías saber. Tras inspeccionar tu página, el buscador que te permite elegir el producto, después la categoría, etc... hace llamadas ajax al siguiente módulo:

https://mjcorse.com/modules/wkextsearch/wkextsearch-ajax.php

en concreto a un archivo php de respuesta de solicitudes AJAX. Por lo que, creo, que lo quieres saber en realidad, es como modificar los resultados del buscador, cuando muestra las categorías para que se ordenen alfabéticamente. Es cierto que no se ordenan alfabéticamente en tu tienda cuando usas el buscador. Para esto necesitaría poder ver el archivo que procesa la llamada ajax. Es ese archivo php especificado.

Un saludo y disculpa por no habernos entendido desde un principio,

 

Link to comment
Share on other sites

Hola

Te agradezco mucho tu ayuda, pero si que es verdad que no nos estamos entendiendo

Lo que necesito es ordenar dentro de la administración de mi pagina las sub-categorías, el modulo solo muestra el orden que tengamos en la administración y creo que el modulo no interviene en nada

Estamos hablando con los desarrolladores del modulo para ver si le pueden dar una solución

Gracias y un saludo

Link to comment
Share on other sites

Ok, todo es dentro del módulo. Osea, en administración y en tu tienda. Evidentemente debéis consultar con los creadores del módulo, si no os dieran lo que necesitáis puedes hacerme consulta por aquí, pero necesitaría acceso por ejemplo al archivo que te especifiqué. No entiendo como un desarrollo en el backoffice de una tabla normalita no puede ordenarse. Pero en fin, un saludo y suerte.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...