syrcalderas Posted December 16, 2014 Share Posted December 16, 2014 Hola de nuevo foreros. Al hacer la actualización del modulo de PayPal me han desaparecido todos los artículos del frontoffice. Me explico: entro en la tienda, voy a una de las categorías y me pone que no tiene artículos Es como si no tuviera productos, sin embargo en el BackOffice están. Es la versión 1.5. Creo que tiene que ver con Parámetros avanzados>Rendimiento>Smarty, por que anduve tocando por ahí siguiendo algunas indicaciones de otros foreros para actualizar el módulo de PayPal. ¿Alguien sabe qué ha podido pasar y como solucionarlo? Gracias de antemano por la ayuda. Link to comment Share on other sites More sharing options...
nadie Posted December 16, 2014 Share Posted December 16, 2014 ¿Si habilitas el debug de errores: http://www.prestashop.com/forums/topic/232476-%C2%BFqu%C3%A9-hacer-cuando-se-queda-la-pantalla-en-blanco-en-prestashop/ te sale algun error descriptivo en esa pantalla? ¿Puedo ojear tu web? Si comentas que esto te ha pasado a partir de actualizar el modulo de paypal, prueba eliminar o renombrar momentaneamente el directorio paypal que tienes en el directorio modules (o cargar una version anterior) para ver si el error proviene de la actualización... y asi ir descatando cosas) 1 Link to comment Share on other sites More sharing options...
syrcalderas Posted December 17, 2014 Author Share Posted December 17, 2014 Hola Nadie, gracias por responder tan rápido. Ayer todavía se podía entrar en la tienda, hoy nada pantalla en blanco. Dime que hago para que puedas ver la tienda. Saludos. Link to comment Share on other sites More sharing options...
nadie Posted December 17, 2014 Share Posted December 17, 2014 Hola Nadie, gracias por responder tan rápido. Ayer todavía se podía entrar en la tienda, hoy nada pantalla en blanco. Dime que hago para que puedas ver la tienda. Saludos. ¿Pero incluso habiliando el debug: http://www.prestashop.com/forums/topic/232476-%C2%BFqu%C3%A9-hacer-cuando-se-queda-la-pantalla-en-blanco-en-prestashop/ te sale una pantalla en blanco y no un error descriptivo? 1 Link to comment Share on other sites More sharing options...
syrcalderas Posted December 17, 2014 Author Share Posted December 17, 2014 Hola de nuevo. Muchas gracias por contestar tan rápido. Perdona si no soy tan rápido, es que estoy trabajando y lo miro cuando puedo. He hecho lo del debug, aunque debo reconocer que de programción no tengo ni idea, y me sale esto: Strict Standards: Declaration of Dispatcher::loadRoutes() should be compatible with that of DispatcherCore::loadRoutes() in /home/syrc/public_html/override/classes/Dispatcher.php on line 16Warning: Cannot modify header information - headers already sent by (output started at /home/syrc/public_html/override/classes/Dispatcher.php:16) in/home/syrc/public_html/classes/controller/FrontController.php on line 639Warning: Cannot modify header information - headers already sent by (output started at /home/syrc/public_html/override/classes/Dispatcher.php:16) in/home/syrc/public_html/classes/controller/FrontController.php on line 640Warning: Cannot modify header information - headers already sent by (output started at /home/syrc/public_html/override/classes/Dispatcher.php:16) in /home/syrc/public_html/classes/Tools.php on line 130 Para mi es chino, espero que a ti te ayude con la solución. Gracias de nuevo Link to comment Share on other sites More sharing options...
nadie Posted December 17, 2014 Share Posted December 17, 2014 Hola de nuevo. Muchas gracias por contestar tan rápido. Perdona si no soy tan rápido, es que estoy trabajando y lo miro cuando puedo. He hecho lo del debug, aunque debo reconocer que de programción no tengo ni idea, y me sale esto: Strict Standards: Declaration of Dispatcher::loadRoutes() should be compatible with that of DispatcherCore::loadRoutes() in /home/syrc/public_html/override/classes/Dispatcher.php on line 16 Warning: Cannot modify header information - headers already sent by (output started at /home/syrc/public_html/override/classes/Dispatcher.php:16) in/home/syrc/public_html/classes/controller/FrontController.php on line 639 Warning: Cannot modify header information - headers already sent by (output started at /home/syrc/public_html/override/classes/Dispatcher.php:16) in/home/syrc/public_html/classes/controller/FrontController.php on line 640 Warning: Cannot modify header information - headers already sent by (output started at /home/syrc/public_html/override/classes/Dispatcher.php:16) in /home/syrc/public_html/classes/Tools.php on line 130 Para mi es chino, espero que a ti te ayude con la solución. Gracias de nuevo El problema parece que te lo esta dando este override: /override/classes/Dispatcher.php Prueba renombrarlo a: Dispatcher.php_old y dime si te aparecen ya bien los productos o no... Y ya que estamos dime el contenido del fichero, para ver si ese override procede de algún modulo u de otra cosa.. Saludos, 1 Link to comment Share on other sites More sharing options...
syrcalderas Posted December 17, 2014 Author Share Posted December 17, 2014 Hola otra vez. Gracias por la ayuda. Desgraciadamente he renombrado el archivo y sigo en blanco. Te cuento como lo he hecho a ver si esta bien: He bajado el archivo con filezila. He renombrado el archivo añadiendo _old, me dice que el archivo podía quedar inservible pero así todo lo he hecho. Lo he subido con filezila. En el BackOffice le doy a ver mi tienda y pantalla en blanco. Voy a añadirte el contenido de Dispatcher.php: <?php class Dispatcher extends DispatcherCore { protected function loadRoutes() { parent::loadRoutes(); $orderby = (isset($_REQUEST['orderby']) && $_REQUEST['orderby']) ? $_REQUEST['orderby'] : 'position' ; $orderway= (isset($_REQUEST['orderway']) && $_REQUEST['orderway']) ? $_REQUEST['orderway'] : 'asc' ; $results = Db::getInstance()->executeS(' SELECT s.id_searchterm, s.term,s.url,s.title,s.description FROM '._DB_PREFIX_.'searchterm s '); foreach($results as $result) foreach (Language::getLanguages() as $lang) $this->addRoute('search_'.$result['id_searchterm'],$result['url'],'search',$lang['id_lang'],array(), array('search_query' =>$result['term'], 'orderby' => $orderby, 'orderway' => $orderway)); } } A ver si ves algo. Gracias otra vez. Link to comment Share on other sites More sharing options...
syrcalderas Posted December 18, 2014 Author Share Posted December 18, 2014 Hola otra vez, Nadie. Has podido mirar esto? Es que estoy desesperado. No consigo que se vea la tienda. Espero tu respuesta. Gracias. Link to comment Share on other sites More sharing options...
Enrique Gómez Posted December 19, 2014 Share Posted December 19, 2014 Me da a mi que la Paypal no tiene mucho que ver con el fallo ... El fichero Dispatcher hay pocos módulos que lo tocan, suelen ser los de pretty urls o similares. Parece que es un módulo que trata añadir una pretty url a los resultados de búsqueda En principio si cambias el loadRoutes por <?php class Dispatcher extends DispatcherCore { protected function loadRoutes($id_shop = null) { parent::loadRoutes($id_shop); $orderby = (isset($_REQUEST['orderby']) && $_REQUEST['orderby']) ? $_REQUEST['orderby'] : 'position' ; $orderway= (isset($_REQUEST['orderway']) && $_REQUEST['orderway']) ? $_REQUEST['orderway'] : 'asc' ; $results = Db::getInstance()->executeS(' SELECT s.id_searchterm, s.term,s.url,s.title,s.description FROM '._DB_PREFIX_.'searchterm s '); foreach($results as $result) foreach (Language::getLanguages() as $lang) $this->addRoute('search_'.$result['id_searchterm'],$result['url'],'search',$lang['id_lang'],array(), array('search_query' =>$result['term'], 'orderby' => $orderby, 'orderway' => $orderway)); } } el error debería desaparecer pero también es cierto que al borrar al renombrar el fichero te debería desaparecer también. Acuérdate de borrar el class_index.php que se encuentra en la carpeta cache para que prestashop busque las clases correctamente. Saludos Link to comment Share on other sites More sharing options...
syrcalderas Posted December 19, 2014 Author Share Posted December 19, 2014 Buenos días Enrique, gracias por contestar. Soy bastante novato en esto. En qué carpeta está loadRoutes? o donde lo busco? Gracias por la ayuda Link to comment Share on other sites More sharing options...
Enrique Gómez Posted December 19, 2014 Share Posted December 19, 2014 Se trata de el fichero /override/classes/Dispatcher.php de modificarlo con lo marcado en rojo. Pero si quieres mejor borra el fichero /cache/class_index.php (se regenera sólo si esta borrado) ya que ahora lo tienes renombrado a Dispatcher.php_old. La idea es que cargue el normal y no el override Link to comment Share on other sites More sharing options...
syrcalderas Posted December 19, 2014 Author Share Posted December 19, 2014 Gracias por la ayuda Enrique, pero sigo igual. He hecho lo siguiente: He borrado /cache/class_index.php. He subido con Filezila el Dispatcher.php modificado. Lo que no se es si en el BackOffice, en el parte Rendimiento/Smarty, debo hacer Forzar compilación o no. Gracias por contestar tan rápido Link to comment Share on other sites More sharing options...
Enrique Gómez Posted December 19, 2014 Share Posted December 19, 2014 Pero que error te lanza ahora? Link to comment Share on other sites More sharing options...
nadie Posted December 19, 2014 Share Posted December 19, 2014 Gracias por la ayuda Enrique, pero sigo igual. He hecho lo siguiente: He borrado /cache/class_index.php. He subido con Filezila el Dispatcher.php modificado. Lo que no se es si en el BackOffice, en el parte Rendimiento/Smarty, debo hacer Forzar compilación o no. Gracias por contestar tan rápido ¿Pero te salta el mismo error que comentastes al principio al habilitar el debug o te salta otro error? Es que si renombrastes el fichero como te indique al principio o lo has borrado, no tendria que salirte el mismo error.. 1 Link to comment Share on other sites More sharing options...
syrcalderas Posted December 19, 2014 Author Share Posted December 19, 2014 Hola Enrique he hecho el debug y me sale esto: [PrestaShopDatabaseException]MySQL server has gone away SELECT DISTINCT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite FROM `ps_category` c INNER JOIN ps_category_shop category_shop ON (category_shop.id_category = c.id_category AND category_shop.id_shop = 1) LEFT JOIN `ps_category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = 2 AND cl.id_shop = 1 ) LEFT JOIN `ps_category_group` cg ON (cg.`id_category` = c.`id_category`) WHERE (c.`active` = 1 OR c.`id_category` = 1) AND `level_depth` <= 4 AND cg.`id_group` IN (3, 5) ORDER BY `level_depth` ASC, category_shop.`position` ASCat line 613 in file classes/db/Db.php 607. WebserviceRequest::getInstance()->setError(500, ' '.$this->getMsgError().'. From '.(isset($dbg[3]['class']) ? $dbg[3]['class'] : '').'->'.$dbg[3]['function'].'() Query was : '.$sql, 97);608. }609. else if (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS'))610. {611. if ($sql)612. throw new PrestaShopDatabaseException($this->getMsgError().'<br /><br /><pre>'.$sql.'</pre>');613. throw new PrestaShopDatabaseException($this->getMsgError());614. }615. }616.617. /** DbCore->displayError - [line 313 - classes/db/Db.php] - [1 Arguments] DbCore->query - [line 488 - classes/db/Db.php] - [1 Arguments] DbCore->executeS - [line 252 - modules/blockcategories/blockcategories.php] - [1 Arguments] BlockCategories->hookFooter - [line 475 - classes/Hook.php] - [1 Arguments] HookCore::exec - [line 774 - classes/controller/FrontController.php] - [1 Arguments] FrontControllerCore->initFooter - [line 172 - classes/controller/Controller.php] - [0 Argument] ControllerCore->run - [line 348 - classes/Dispatcher.php] - [0 Argument] DispatcherCore->dispatch - [line 28 - index.php] - [0 Argument] A ver si ves la luz. Gracias por la paciencia. Link to comment Share on other sites More sharing options...
Enrique Gómez Posted December 19, 2014 Share Posted December 19, 2014 MySQL server has gone away Parece que la Base de datos no va bien. Mira de hablar con tu hosting. Intenta acceder al backoffice o a una página de producto directamente via una url, si te deja y no sale este error no se que puede ser... Si sale siempre este error, debe ser cosa de hosting Link to comment Share on other sites More sharing options...
nadie Posted December 19, 2014 Share Posted December 19, 2014 Comprueba lo que te comenta Enrique Gomez, y cuentanos a ver que tal... Por cierto, ¿Has intentando migrar la tienda a local (a modo de prueba) y comprobar si te pasa lo mismo? (Es para ir descartando cosas) Link to comment Share on other sites More sharing options...
syrcalderas Posted December 19, 2014 Author Share Posted December 19, 2014 He intentado acceder a un producto de la tienda vía URL y me sale: [PrestaShopDatabaseException]MySQL server has gone away SELECT id_shop FROM `ps_category_shop` WHERE `id_category` = 14 AND id_shop = 1 LIMIT 1 at line 613 in file classes/db/Db.php 607. WebserviceRequest::getInstance()->setError(500, '[SQL Error] '.$this->getMsgError().'. From '.(isset($dbg[3]['class']) ? $dbg[3]['class'] : '').'->'.$dbg[3]['function'].'() Query was : '.$sql, 97);608. }609. else if (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS'))610. {611. if ($sql)612. throw new PrestaShopDatabaseException($this->getMsgError().'<br /><br /><pre>'.$sql.'</pre>');613. throw new PrestaShopDatabaseException($this->getMsgError());614. }615. }616. 617. /** DbCore->displayError - [line 313 - classes/db/Db.php] - [1 Arguments]307. if ($sql instanceof DbQuery)308. $sql = $sql->build();309. 310. $this->result = $this->_query($sql);311. if (_PS_DEBUG_SQL_)312. $this->displayError($sql);313. return $this->result;314. }315. 316. /**317. * Execute an INSERT query Argument [0]SELECT id_shop FROM `ps_category_shop` WHERE `id_category` = 14 AND id_shop = 1 LIMIT 1 DbCore->query - [line 526 - classes/db/Db.php] - [1 Arguments]520. if ($use_cache && $this->is_cache_enabled && ($result = Cache::getInstance()->get(md5($sql))))521. {522. $this->last_cached = true;523. return $result;524. }525. $this->result = $this->query($sql);526. if (!$this->result)527. return false;528. $this->last_cached = false;529. $result = $this->nextRow($this->result);530. if (is_null($result)) Argument [0]SELECT id_shop FROM `ps_category_shop` WHERE `id_category` = 14 AND id_shop = 1 LIMIT 1 DbCore->getRow - [line 550 - classes/db/Db.php] - [2 Arguments]544. public function getValue($sql, $use_cache = true)545. {546. if ($sql instanceof DbQuery)547. $sql = $sql->build();548. 549. if (!$result = $this->getRow($sql, $use_cache))550. return false;551. return array_shift($result);552. }553. 554. /** Argument [0]SELECT id_shop FROM `ps_category_shop` WHERE `id_category` = 14 AND id_shop = 1Argument [1]1 DbCore->getValue - [line 1244 - classes/ObjectModel.php] - [1 Arguments]1238. {1239. $sql = 'SELECT id_shop1240. FROM `'.pSQL(_DB_PREFIX_.$this->def['table']).'_shop`1241. WHERE `'.$this->def['primary'].'` = '.(int)$this->id.'1242. AND id_shop = '.(int)$id_shop;1243. Cache::store($cache_id, (bool)Db::getInstance()->getValue($sql));1244. }1245. return Cache::retrieve($cache_id);1246. }1247. 1248. /** Argument [0]SELECT id_shop FROM `ps_category_shop` WHERE `id_category` = 14 AND id_shop = 1 ObjectModelCore->isAssociatedToShop - [line 536 - controllers/front/ProductController.php] - [0 Argument]530. * Assign template vars related to category531. */532. protected function assignCategory()533. {534. // Assign category to the template535. if ($this->category !== false && Validate::isLoadedObject($this->category) && $this->category->inShop() && $this->category->isAssociatedToShop())536. $path = Tools::getPath($this->category->id, $this->product->name, true);537. elseif (Category::inShopStatic($this->product->id_category_default, $this->context->shop))538. {539. $this->category = new Category((int)$this->product->id_category_default);540. if (Validate::isLoadedObject( $this->category) && $this->category->active && $this->category->isAssociatedToShop()) ProductControllerCore->assignCategory - [line 231 - controllers/front/ProductController.php] - [0 Argument]225. $this->context->smarty->assign(array(226. 'pictures' => $pictures,227. 'textFields' => $text_fields));228. 229. // Assign template vars related to the category + execute hooks related to the category230. $this->assignCategory();231. // Assign template vars related to the price and tax232. $this->assignPriceAndTax();233. 234. // Assign template vars related to the images235. $this->assignImages(); ProductControllerCore->initContent - [line 167 - classes/controller/Controller.php] - [0 Argument]161. 162. if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className)))163. $this->initHeader();164. 165. if ($this->viewAccess())166. $this->initContent();167. else168. $this->errors[] = Tools::displayError('Access denied.');169. 170. if (!$this->content_only && ($this->display_footer || (isset($this->className) && $this->className)))171. $this->initFooter(); ControllerCore->run - [line 348 - classes/Dispatcher.php] - [0 Argument]342. // Execute hook dispatcher343. if (isset($params_hook_action_dispatcher))344. Hook::exec('actionDispatcher', $params_hook_action_dispatcher);345. 346. // Running controller347. $controller->run();348. }349. catch (PrestaShopException $e)350. {351. $e->displayMessage();352. } Link to comment Share on other sites More sharing options...
Enrique Gómez Posted December 19, 2014 Share Posted December 19, 2014 habla con tu hosting, comentales que el servidor Mysql no va... cualquier consulta sql acaba en MySQL server has gone away Link to comment Share on other sites More sharing options...
galindogadea Posted December 19, 2014 Share Posted December 19, 2014 Si tiene relacción con esto: http://piwik.org/faq/troubleshooting/faq_183/ solo te queda contactar con tu hosting. Como bien te ha comentado Nadie, puedes probar antes migrar la tienda a local, y si en local te funciona bien todo, pues el problema lo tienes en tu hosting. Link to comment Share on other sites More sharing options...
syrcalderas Posted December 19, 2014 Author Share Posted December 19, 2014 Gracias a todos por la ayuda. Comentaros un par de cosas: Todo ha ido mal a raíz de la actualización del módulo de PayPal. Después de actualizarlo me llamó un cliente que una vez aceptado el carrito no le pasaba a la pagina de PayPal. Lo comprobé y efectivamente así era. Intenté volver a instalar el módulo viejo de Paypal, pero ya fue imposible que apareciera la tienda, siempre hoja en blanco. Ahora viene lo mejor: ¿Cómo se pasa la tienda a local? Como veis estoy mas verde que una lechuga. Gracias de nuevo. Link to comment Share on other sites More sharing options...
Enrique Gómez Posted December 19, 2014 Share Posted December 19, 2014 Esta bastante claro que debe ser un problema del hosting. Ponte en contacto con ellos y coméntales el error que lanza Link to comment Share on other sites More sharing options...
galindogadea Posted December 19, 2014 Share Posted December 19, 2014 Gracias a todos por la ayuda. Comentaros un par de cosas: Todo ha ido mal a raíz de la actualización del módulo de PayPal. Después de actualizarlo me llamó un cliente que una vez aceptado el carrito no le pasaba a la pagina de PayPal. Lo comprobé y efectivamente así era. Intenté volver a instalar el módulo viejo de Paypal, pero ya fue imposible que apareciera la tienda, siempre hoja en blanco. Ahora viene lo mejor: ¿Cómo se pasa la tienda a local? Como veis estoy mas verde que una lechuga. Gracias de nuevo. Lo de la tienda a local, puedes instalarte http://www.wampserver.com/en/ en tu pc y copiar los ficheros, base de datos, etc... en local, cambiar datos settings.inc.php, cambiar datos url tienda en ps_shop_url, etc.. (por google y youtube tienes guias de como hacerlo) --- De todos modos, esto es solo para comprobar. Pero vamos, pierdes menos tiempos en contactar con tu hosting y comentarles lo que te pasa... ¿O es que tu hosting no te atiende xD? Link to comment Share on other sites More sharing options...
syrcalderas Posted December 19, 2014 Author Share Posted December 19, 2014 Ok,voy a contactar con el Hosting, a ver que me dicen y os comento. Gracias. Link to comment Share on other sites More sharing options...
galindogadea Posted December 19, 2014 Share Posted December 19, 2014 Ok,voy a contactar con el Hosting, a ver que me dicen y os comento. Gracias. Cualquier cosa, por aquí estaremos. A ver si tienes suerte y te atienden rapido ! Suerte ! Link to comment Share on other sites More sharing options...
syrcalderas Posted December 26, 2014 Author Share Posted December 26, 2014 Hola de nuevo foreros. Al final contacté con el Hosting, le comenté el problema y lo que ha hecho ha sido restaurar la tienda al día en el que estaba estable. Ahora funciona perfectamente y la versión del modulo PayPal pone que es Versión: 3.8.1, con lo que salvo me digáis algo en contra podemos dar el tema por solucionado. Muchas gracias por la ayuda, Nadie, Enrique y Galindogadea. Link to comment Share on other sites More sharing options...
Recommended Posts