jose_mora2 Posted May 16, 2016 Share Posted May 16, 2016 Buenos días chicos, tengo el siguiente problema, cuando intento crear una nueva categoría desde al back office de mi Prestashop 1.6.1.1 se abre una página en blanco, es como si el Prestashop se hubiese "colgado". He probado desde distintos navegadores y desde ordenadores diferentes, obteniendo el mismo resultado desde todos ellos. Este es el link que aparece en la barra de direcciones y el resto de pantalla totalmente en blanco, como si no puediera cargarla... de manera que no soy capaz de añadir nuevas categorías a mi tienda. http://mitienda/admin7171/index.php?controller=AdminCategories&addcategory&token=1810aad05db0091ff373916ec224d99b Muchas gracias! Link to comment Share on other sites More sharing options...
jose_mora2 Posted May 16, 2016 Author Share Posted May 16, 2016 He puesto la tienda en modo debug y me ha dado el siguiente error en el fichero AdminCategoriesController.php [8] Use of undefined constant BBP_PATTERNS_DIR - assumed ' BBP_PATTERNS_DIR' Os pego el fragmento de código por si alguien puede echarme una mano que de php ni idea!!! La línea en negrita es la que falla... * module: belvg_backgroundpages * date: 2015-11-23 12:10:48 * version: 1.0.0 */ public function postProcess() { if (!in_array($this->display, array('edit', 'add'))) { $this->multishop_context_group = FALSE; } if (Tools::isSubmit('forcedeleteImage') || !empty($_FILES['image']['tmp_name'])) { $this->processForceDeleteImage(); if (Tools::isSubmit('forcedeleteImage')) { Tools::redirectAdmin(self::$currentIndex . '&token=' . Tools::getAdminTokenLite('AdminCategories') . '&conf=7'); } } $return = AdminController::postProcess(); $id_category = Tools::getValue('id_category', (isset($return->id) ? $return->id : NULL)); $dir = BBP_PATTERNS_DIR . 'categories/' . $id_category; $delete_current_img = Tools::getValue('deleteBackgroundImage'); if ($delete_current_img || !empty($_FILES['background_image']['tmp_name'])) { if (!file_exists($dir)) { mkdir($dir, 0777); } $this->deleteImgByCategoryId($id_category); } Link to comment Share on other sites More sharing options...
calatravalo Posted May 16, 2016 Share Posted May 16, 2016 Buenos días, te pega ese error porque no está definida la constante del directorio. Si no me confundo, tendrías que asignar las constantes: ... public function renderForm() { define('BBP_PATTERNS_DIR', PS_MODULE_DIR . '/belvg_backgroundpages/patterns/'); define('BBP_PATTERNS_URL', __PS_BASE_URI__ . 'modules/belvg_backgroundpages/patterns/'); ... public function postProcess() { define('BBP_PATTERNS_DIR', PS_MODULE_DIR . '/belvg_backgroundpages/patterns/'); define('BBP_PATTERNS_URL', __PS_BASE_URI__ . 'modules/belvg_backgroundpages/patterns/'); ... Un saludo Link to comment Share on other sites More sharing options...
jose_mora2 Posted May 16, 2016 Author Share Posted May 16, 2016 Lo primero de todo muchas gracias por responder. Acabo de probarlo pero sigue sin funcionar... no controlo nada de php pero he añadido las líneas que indicas al principio de cada función. Después de activar el modo debug sigue dando error, pero esta vez en otra línea... en esta ocasión en la 258 del mismo fichero public function postProcess() { define('BBP_PATTERNS_DIR', PS_MODULE_DIR . '/belvg_backgroundpages/patterns/'); define('BBP_PATTERNS_URL', __PS_BASE_URI__ . 'modules/belvg_backgroundpages/patterns/'); if (!in_array($this->display, array('edit', 'add'))) { $this->multishop_context_group = FALSE; Lo que no puedo entender es como se ha podido "estropear" ¿? si es una función que no se ha actualizado ni nada por el estilo. ¿Qué puede ser? Link to comment Share on other sites More sharing options...
calatravalo Posted May 16, 2016 Share Posted May 16, 2016 Haz una cosa, borra lo que has añadido (lo que te dije) y pon a pelo: $dir = PS_MODULE_DIR . '/belvg_backgroundpages/patterns/' . 'categories/' . $id_category; Pon esa linea sobreescribiendo la línea que te daba el problema (la que pusiste en el primer post). El problema es causado por la función de un módulo que has añadido, no es porque hayas actualizado ni nada, intenta eso que te dije arriba y me comentas si con eso se soluciona Un saludo Link to comment Share on other sites More sharing options...
jose_mora2 Posted May 16, 2016 Author Share Posted May 16, 2016 Vaya sigue sin funcionar he realizado las siguientes modificaciones en las dos funciones... public function renderForm() { $dir = PS_MODULE_DIR . '/belvg_backgroundpages/patterns/' . 'categories/' . $id_category; require_once(_PS_ROOT_DIR_ . '/modules/belvg_backgroundpages/belvg_backgroundpages.php'); //BELVG $this->initToolbar(); public function postProcess() { $dir = PS_MODULE_DIR . '/belvg_backgroundpages/patterns/' . 'categories/' . $id_category; if (!in_array($this->display, array('edit', 'add'))) { $this->multishop_context_group = FALSE; Ahora me da el siguiente error en la línea 257 que es la que acabamos de añadir... ¿? Notice on line 257 en archivo /var/webs/hisarnox.com/html/override/controllers/admin/AdminCategoriesController.php [8] Use of undefined constant PS_MODULE_DIR - assumed 'PS_MODULE_DIR' Notice on line 257 en archivo /var/webs/hisarnox.com/html/override/controllers/admin/AdminCategoriesController.php [8] Undefined variable: id_category Notice on line 269 en archivo /var/webs/hisarnox.com/html/override/controllers/admin/AdminCategoriesController.php [8] Use of undefined constant BBP_PATTERNS_DIR - assumed 'BBP_PATTERNS_DIR' Link to comment Share on other sites More sharing options...
calatravalo Posted May 16, 2016 Share Posted May 16, 2016 No, no me entendiste, BORRA esas dos funciones que te dije, y la línea esa ponla sobreescribiendo el problema que te daba al inicio, es decir: * module: belvg_backgroundpages * date: 2015-11-23 12:10:48 * version: 1.0.0 */ public function postProcess() { if (!in_array($this->display, array('edit', 'add'))) { $this->multishop_context_group = FALSE; } if (Tools::isSubmit('forcedeleteImage') || !empty($_FILES['image']['tmp_name'])) { $this->processForceDeleteImage(); if (Tools::isSubmit('forcedeleteImage')) { Tools::redirectAdmin(self::$currentIndex . '&token=' . Tools::getAdminTokenLite('AdminCategories') . '&conf=7'); } } $return = AdminController::postProcess(); $id_category = Tools::getValue('id_category', (isset($return->id) ? $return->id : NULL)); $dir = BBP_PATTERNS_DIR . 'categories/' . $id_category; <-- Línea a modificar $delete_current_img = Tools::getValue('deleteBackgroundImage'); if ($delete_current_img || !empty($_FILES['background_image']['tmp_name'])) { if (!file_exists($dir)) { mkdir($dir, 0777); } $this->deleteImgByCategoryId($id_category); } Link to comment Share on other sites More sharing options...
jose_mora2 Posted May 16, 2016 Author Share Posted May 16, 2016 Vale ya te entendí, pero me sigue dando el siguiente error justo en la línea nueva... la que pongo en negrilla He partido del fichero original para las modificaciones y tan sólo he reemplazado la línea que me has dicho por la nueva pero parece que nada de nada... Parece que estamos más cerca. Notice on line 267 en archivo /var/webs/hisarnox.com/html/override/controllers/admin/AdminCategoriesController.php [8] Use of undefined constant PS_MODULE_DIR - assumed 'PS_MODULE_DIR' public function postProcess() { if (!in_array($this->display, array('edit', 'add'))) { $this->multishop_context_group = FALSE; } if (Tools::isSubmit('forcedeleteImage') || !empty($_FILES['image']['tmp_name'])) { $this->processForceDeleteImage(); if (Tools::isSubmit('forcedeleteImage')) { Tools::redirectAdmin(self::$currentIndex . '&token=' . Tools::getAdminTokenLite('AdminCategories') . '&conf=7'); } } $return = AdminController::postProcess(); $id_category = Tools::getValue('id_category', (isset($return->id) ? $return->id : NULL)); $dir = PS_MODULE_DIR . '/belvg_backgroundpages/patterns/' . 'categories/' . $id_category; $delete_current_img = Tools::getValue('deleteBackgroundImage'); Link to comment Share on other sites More sharing options...
calatravalo Posted May 16, 2016 Share Posted May 16, 2016 (edited) Ve al archivo que te indica el error, y cambia TODO el contenido (deja el archivo en blanco) por este: (Haz copia del tuyo antes de borrar) Edited May 16, 2016 by calatravalo (see edit history) Link to comment Share on other sites More sharing options...
jose_mora2 Posted May 16, 2016 Author Share Posted May 16, 2016 Acabo de realizar lo que me has dicho, previa copia de seguridad del fichero he vaciado el contenido y lo he sustituido por el que me has facilitado... a pesar de todo sigue dando el mismo error en la línea 267 $dir = BBP_PATTERNS_DIR . 'categories/' . $id_category; Muchas gracias por tu ayuda... Link to comment Share on other sites More sharing options...
calatravalo Posted May 16, 2016 Share Posted May 16, 2016 El caso es que me he instalado el modulo que te da error y a mi me funciona perfectamente, le he instalado y he añadido categorías sin problema. Prueba como última solución, desinstalar el módulo, bórrale, y vuelvele a subir descargado desde el link : https://www.prestashop.com/forums/topic/286968-background-switcher-free/ La descripción del módulo que tienes que desinstalar es: Carácterísticas del Front Office Background Switcher v1.0.0 - por BelVG Tools for making a great first impression on your customers by vivid and meaningful store design Esperemos que así se solucione, aunque tengas que reconfigurar los fondos :/ Link to comment Share on other sites More sharing options...
jose_mora2 Posted May 16, 2016 Author Share Posted May 16, 2016 Muchas gracias por tu colaboración voy a probar con lo que me dices a ver si se arregla. Ya te cuento como queda el tema. Link to comment Share on other sites More sharing options...
jose_mora2 Posted May 16, 2016 Author Share Posted May 16, 2016 Hola lo cierto es que no tengo constancia de haber instalado alguna vez el módulo del problema background Switcher free, cuando me disponía a desinstalarlo para realizar la prueba que me has comentado he visto que no aparecía por ningún lado... por lo que he probado a renombrar el fichero que da error en la carpeta de override para que no lo encuentre el sistema y ahora funciona correctamente... desconozco el motivo por el que ese fichero se encontraba dentro de la carpeta override ¿?¿? la verdad no entiendo nada. !!!Muchísimas gracias por tu ayuda!!!! Voy a ver si a quedado todo correcto. Un saludo! Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now