resplandor2010 Posted September 19, 2012 Share Posted September 19, 2012 (edited) Al principio, con la version 1.2 de prestashop, instalé un modulo llamado "reposition", que servía para ordenar las categorias. Hoy en día con las nueas versiones no sirve para nada. Después he ido actualizando el prestashop, hasta la presente 1.4.9, pero el dichoso modulo, lo tengo que tener instalado. Cuando pulso en "modulos", ya me aparece el siguiente error Strict Standards: Declaration of Reposition::displayFlags() should be compatible with ModuleCore::displayFlags($languages, $default_language, $ids, $id, $return = false, $use_vars_instead_of_ids = false) in D:\xampp\htdocs\modules\reposition\reposition.php on line 150 Y si desinstalo el dichoso modulo, al entrar en "catalogo", me aparece esto, y no muestra ninguna categoría: Unknown column 'position' in 'field list' SELECT SQL_CALC_FOUND_ROWS b.*, a.*, position FROM `ps_category` a LEFT JOIN `ps_category_lang` b ON (b.`id_category` = a.`id_category` AND b.`id_lang` = 3) WHERE 1 AND `id_parent` = 1 ORDER BY `position` ASC LIMIT 0,50 Lo único que puedo hacer, es dejar el modulo instalado, pero deshabilitado, aunque me gustaría poderlo eliminar, y que todo funcionase correctamente ¿Se le ocurre algo a alguien? La verdad, es que he solucionado muchas cosas con este foro, y siempre que pueda también aportaré mi ayuda. Edited September 20, 2012 by resplandor2010 (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted September 19, 2012 Share Posted September 19, 2012 ¿Te refieres a este modulo? http://www.prestashop.com/forums/topic/141914-module-reposition/ Link to comment Share on other sites More sharing options...
resplandor2010 Posted September 20, 2012 Author Share Posted September 20, 2012 ¿Te refieres a este modulo? http://www.prestasho...ule-reposition/ Si, efectivamente es el mismo modulo. Pero ¿hay alguna solución, para eliminarlo, y que todo funcione correctamente? Link to comment Share on other sites More sharing options...
nadie Posted September 20, 2012 Share Posted September 20, 2012 Si, efectivamente es el mismo modulo. Pero ¿hay alguna solución, para eliminarlo, y que todo funcione correctamente? Prueba restaurar la clase Category.php original. Link to comment Share on other sites More sharing options...
resplandor2010 Posted September 20, 2012 Author Share Posted September 20, 2012 Prueba restaurar la clase Category.php original. Eso no funciona, además he comparado los archivos con winmerge, y son identicos. Por lo poco que entiendo, apunta a un problema con los idiomas. ¿Alguna otra idea? Link to comment Share on other sites More sharing options...
nadie Posted September 20, 2012 Share Posted September 20, 2012 A primera vista, el modulo, no parece que haya afectado a terceras cosas importantes. Link to comment Share on other sites More sharing options...
resplandor2010 Posted September 20, 2012 Author Share Posted September 20, 2012 A primera vista, el modulo, no parece que haya afectado a terceras cosas importantes. No debería de haber afetado nada, pero algo si que tiene que ver. Si lo desinstalo, aparece el error antes comentado, cuando pulso la pestaña catálogo. Si quito que me muestre los errores, al pulsar catálogo , sólo me muestra la categoría inicio, todas las demás han desaparecido del back office, pero si que estan en el front office. No se si el modulo, toca algo de la base de datos, pero puede ser ese el problema, o algún otro archivo, que haya modifiado. Link to comment Share on other sites More sharing options...
nadie Posted September 20, 2012 Share Posted September 20, 2012 No debería de haber afetado nada, pero algo si que tiene que ver. Si lo desinstalo, aparece el error antes comentado, cuando pulso la pestaña catálogo. Si quito que me muestre los errores, al pulsar catálogo , sólo me muestra la categoría inicio, todas las demás han desaparecido del back office, pero si que estan en el front office. No se si el modulo, toca algo de la base de datos, pero puede ser ese el problema, o algún otro archivo, que haya modifiado. Me verificas que el enlace que te he pasado es justo al 100 por 100 el modulo que estas usando (misma versión, ect..). (Confirmamelo) Link to comment Share on other sites More sharing options...
resplandor2010 Posted September 20, 2012 Author Share Posted September 20, 2012 Me verificas que el enlace que te he pasado es justo al 100 por 100 el modulo que estas usando (misma versión, ect..). (Confirmamelo) La versión ya lo había comprobado antes, y era la misma. Ahora he comprobado los archivos php con el winmege, y son todos identicos. La única diferencia, es que yo tengo 2 archivos correspondientes a mis idiomas, y un config.xml, que no estan en el que tu has indicado. Link to comment Share on other sites More sharing options...
resplandor2010 Posted September 20, 2012 Author Share Posted September 20, 2012 Ya he descubierto la causa de este error, y apunta a la base de datos. El problema, es que el modulo reposition, al instalarlo, crea la columna "position", dentro de la tabla "ps_category". Pues resulta que al desinstalar el modulo, se borra dicha columna, y algún archivo, sigue pidiendo acceso a dichos datos, por lo que produce el error, pues esa columna no existe ya. He exportado la tabla ps_category antes de desinstalar el modulo. He desinstalado el modulo, se produce el error, (la columna "position" no existe) exporto la tabla de antes de desinstalar el modulo, y todo funciona correctamente, pues vuelve a estar la columna position. Esta no es la manera de solucionar el problema, pero no se me ocurre otra. ¿Puede haber algún problema si lo dejo así?, ¿es mejor dejar el modulo instalado, pero desactivado? Agradecería me aconsejaseis. Gracias Link to comment Share on other sites More sharing options...
nadie Posted September 20, 2012 Share Posted September 20, 2012 Ya he descubierto la causa de este error, y apunta a la base de datos. El problema, es que el modulo reposition, al instalarlo, crea la columna "position", dentro de la tabla "ps_category". Pues resulta que al desinstalar el modulo, se borra dicha columna, y algún archivo, sigue pidiendo acceso a dichos datos, por lo que produce el error, pues esa columna no existe ya. He exportado la tabla ps_category antes de desinstalar el modulo. He desinstalado el modulo, se produce el error, (la columna "position" no existe) exporto la tabla de antes de desinstalar el modulo, y todo funciona correctamente, pues vuelve a estar la columna position. Esta no es la manera de solucionar el problema, pero no se me ocurre otra. ¿Puede haber algún problema si lo dejo así?, ¿es mejor dejar el modulo instalado, pero desactivado? Agradecería me aconsejaseis. Gracias El campo "position", en la 1.4 viene por defecto en la tabla: ps_category Por lo que he visto el modulo lo que hace es crear dicho campo, supongo lo haría para versiones anteriores de prestashop, que no tenían el campo "position" en la tabla ps_category, por que en la 1.4, ya viene el campo position creado. La diferencia entre el "position" (que lleva prestashop en la 1.4) es que es de tipo "INT" y longitud 10, mientras el que creaba el modulo en versiones anteriores de prestashop, es de tipo TINYINT longitud 3. Link to comment Share on other sites More sharing options...
nadie Posted September 20, 2012 Share Posted September 20, 2012 Vamos que el problema, era que el modulo por lo que he visto en esta linea, borraba el campo Db::getInstance()->Execute("ALTER TABLE `"._DB_PREFIX_.$this->_table."` DROP `position`") Y en la 1.4, el campo tiene que estar en la tabla, por que ya viene por defecto. Link to comment Share on other sites More sharing options...
resplandor2010 Posted September 20, 2012 Author Share Posted September 20, 2012 Vamos que el problema, era que el modulo por lo que he visto en esta linea, borraba el campo Db::getInstance()->Execute("ALTER TABLE `"._DB_PREFIX_.$this->_table."` DROP `position`") Y en la 1.4, el campo tiene que estar en la tabla, por que ya viene por defecto. Gracias por la explicación, Yo suponia algo de eso, pero no se mucho de programación, y sólo me baso en conclusiones. Ahora lo que me gustaría saber, es como realmente debería arreglarlo, una vez desinstalando el modulo. No se si la opción que he hecho yo, de importar la tabla, que tenia antes de desinstalarlo es la correcta o es mejor creando dicho campo, una vez desisntalado (si es esta última opción la mejor, una breve explicación no vendría mal). Link to comment Share on other sites More sharing options...
nadie Posted September 20, 2012 Share Posted September 20, 2012 Gracias por la explicación, Yo suponia algo de eso, pero no se mucho de programación, y sólo me baso en conclusiones. Ahora lo que me gustaría saber, es como realmente debería arreglarlo, una vez desinstalando el modulo. No se si la opción que he hecho yo, de importar la tabla, que tenia antes de desinstalarlo es la correcta o es mejor creando dicho campo, una vez desisntalado (si es esta última opción la mejor, una breve explicación no vendría mal). Déjalo el campo como lo tienes ahora, pero cambia el tipo de campo a "int" con longitud 10. (Es decir, que restaures el campo, como has echo, y simplemente cámbiale el tipo y la longitud) Link to comment Share on other sites More sharing options...
resplandor2010 Posted September 20, 2012 Author Share Posted September 20, 2012 Déjalo el campo como lo tienes ahora, pero cambia el tipo de campo a "int" con longitud 10. (Es decir, que restaures el campo, como has echo, y simplemente cámbiale el tipo y la longitud) Perfecto, he hecho las modificaciones, y todo funciona correctamente, y el dichoso modulo, ha pasado a mejor vida. Gracias por tu inestimable ayuda. Doy el problema por solucionado, y así lo voy a poner en el titulo. Link to comment Share on other sites More sharing options...
nadie Posted September 20, 2012 Share Posted September 20, 2012 Perfecto, he hecho las modificaciones, y todo funciona correctamente, y el dichoso modulo, ha pasado a mejor vida. Gracias por tu inestimable ayuda. Doy el problema por solucionado, y así lo voy a poner en el titulo. Un placer ayudarte y servirte! Un saludo y recuerda que estaremos en el foro, para guiarte por este mundo oscuro y tenebroso. Link to comment Share on other sites More sharing options...
Recommended Posts