mandreur Posted February 21, 2023 Share Posted February 21, 2023 Hola, necesito saber como guardar un objeto en session o en cookie para poder acceder a él en otro controlador. Uso este mecanismo: **$this->context->cookie->__set('checkoutPaymentStep', serialize($checkoutPaymentStep));** pero me da error, necesito guardar un objeto, no un valor primitivo. Gracias. Link to comment Share on other sites More sharing options...
Manuel_GT Posted February 22, 2023 Share Posted February 22, 2023 (edited) Hola! ¿Has probado a convertirlo en string con json_encode? Yo lo uso para imprimir objetos en el log. Personalmente yo prefiero almacenar esas cosas en una cache del servidor. Tengo instalado memcached y guardo ahí lo que necesito con acceso global. Así la información no viaja por el cliente. Edited February 22, 2023 by Manuel_GT (see edit history) Link to comment Share on other sites More sharing options...
ExpertoPrestaShop Posted February 22, 2023 Share Posted February 22, 2023 19 hours ago, mandreur said: Hola, necesito saber como guardar un objeto en session o en cookie para poder acceder a él en otro controlador. Uso este mecanismo: **$this->context->cookie->__set('checkoutPaymentStep', serialize($checkoutPaymentStep));** pero me da error, necesito guardar un objeto, no un valor primitivo. Gracias. En todo caso este código no es correcto. Lo correcto seria: $this->context->cookie->checkoutPaymentStep = serialize($checkoutPaymentStep; Pero el tamaño de la cookie que admite el servidor es limitado, por tanto en algún momento tendrás el problema de que se excederá ese limite y el cliente no podrá navegar por la tienda. Puedes usar $this->context->checkoutPaymentStep = $checkoutPaymentStep; para acceder a la variable $this->context->checkoutPaymentStep desde cualquier otro controlador, pero este dato no se almacena en la sesión, sino que cambia con cada petición que haga el cliente a la tienda. Suerte 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