guille334 Posted September 3, 2014 Share Posted September 3, 2014 (edited) Bueno, lo primero que decir es que soy nuevo en este foro y no se si este es el hilo correcto, disculpas de antemano. Lo segundo es mi problema. Necesito acceder a las cookies de PrestaShop desde un panel propio para clientes. id_customer, logged etc... El problema viene a que siguiendo la documentación oficial de Prestashop 1.6 no consigo acceder a dichas cookies La información la obtengo de aquí: Documentación de acceso a cookies PS 1.6 Me resulta imposible ver si el usuario esta loggeado por ejemplo, simplemente no funciona. Agradecería cualquier ejemplo de acceso a cualquier variable de las cookies. Mil gracias. Guillermo A.C. Edited September 3, 2014 by guille334 (see edit history) Link to comment Share on other sites More sharing options...
Enrique Gómez Posted September 3, 2014 Share Posted September 3, 2014 El panel esta en forma de módulo de Prestashop? Cual es el problema funcionalmente hablando? En el backoffice ya tienes en estadísticas un apartado de visitantes en linea Link to comment Share on other sites More sharing options...
guille334 Posted September 3, 2014 Author Share Posted September 3, 2014 Hola Enrique, gracias por tu tiempo. No, no está en forma de modulo, es un acceso "especial" para ciertos clientes con interacciones con otras webs. Un saludo. Link to comment Share on other sites More sharing options...
Enrique Gómez Posted September 3, 2014 Share Posted September 3, 2014 Sin saber el problema funcionalmente es difícil...Si necesitas acceder a prestashop "fuera" de prestashop ->si estas en el misma carpeta/hosting necesitas importar el fichero config.inc (Si estas en otro hosting tienes que plantearte otra estrategia ->servicios web..etc). p.ej en un wordpress instalado en una carpeta dentro de presta <?php require_once(dirname(__FILE__).'/../../../../config/config.inc.php'); if (isset(Context::getContext()->controller)) $controller = Context::getContext()->controller; else { $controller = new FrontController(); Luego tienes acceso a toda la API de prestashop. Las cookies estan en el objeto Context en forma de un objeto de la clase Cookie $lacookie=Context::getContext->cookie;. una vez que tienes esta cookie puedes meter y sacar datos como si fuera un objeto normal $lacookie->my_clienteEspecial=5556; Puedes obtener $lacookie->id_cart $lacookie->id_lang aunque en el propio context ya tienes el carrito, cliente..etc. 1 Link to comment Share on other sites More sharing options...
guille334 Posted September 3, 2014 Author Share Posted September 3, 2014 Gracias Enrique. Entonces, si necesito por ejemplo mostrar el nombre del usuario desde un php en la carpeta raíz ¿debería funcionar algo así? : <?php require_once(dirname(__FILE__).'/config/config.inc.php'); if (isset(Context::getContext()->controller)) $controller = Context::getContext()->controller; else { $controller = new FrontController(); $lacookie=Context::getContext->cookie;. echo 'Hola, '.$lacookie->customer_firstname.; } ?> Guillermo A.C. Link to comment Share on other sites More sharing options...
Enrique Gómez Posted September 3, 2014 Share Posted September 3, 2014 Mas concretamente seria (lo del controller era un copy paste..) <?php require_once(dirname(__FILE__).'/config/config.inc.php'); if(Context::getContext->customer->isLogged()){ $lacookie=Context::getContext->cookie;. echo 'Hola, '.$lacookie->customer_firstname.; } ?> Link to comment Share on other sites More sharing options...
guille334 Posted September 3, 2014 Author Share Posted September 3, 2014 Creo que con eso me servirá, mil gracias Enrique. Un saludo. Guillermo A.C. Link to comment Share on other sites More sharing options...
guille334 Posted September 3, 2014 Author Share Posted September 3, 2014 (edited) Mas concretamente seria (lo del controller era un copy paste..) <?php require_once(dirname(__FILE__).'/config/config.inc.php'); if(Context::getContext->customer->isLogged()){ $lacookie=Context::getContext->cookie;. echo 'Hola, '.$lacookie->customer_firstname.; } ?> Al parecer faltan un par de () pero me continua dando error, esta vez por un ; en la linea 5. Pero no encuentro la manera de corregirlo Disculpa si son errores de novato, llevo poco con php. . Así es como ha quedado: <?php require_once(dirname(__FILE__).'/config/config.inc.php'); if(Context::getContext()->customer->isLogged()){ $lacookie=Context::getContext()->cookie; echo 'Hola, '.$lacookie->customer_firstname.; } ?> Edited September 3, 2014 by guille334 (see edit history) Link to comment Share on other sites More sharing options...
Enrique Gómez Posted September 4, 2014 Share Posted September 4, 2014 Supongo que te sobra un punto en la linea 5 Seria echo 'Hola, '.$lacookie->customer_firstname; Link to comment Share on other sites More sharing options...
Recommended Posts