Prestafan33 Posted January 14, 2020 Share Posted January 14, 2020 (edited) En Prestashop 1.7, necesitaría obtener desde la vista del checkout (header.tpl), el último paso completado, con objeto de crear una especie de cuadro de "progreso" del proceso (1-Identificarse, 2-Dirección, 3-Método envío, 4-Pago). He estado buscando una variable que me permita saber en qué paso del proceso estoy desde la vista, pero no lo he encontrado. Así que he hecho un override del controlador OrderController.php, un poco chapucero, de este modo: class OrderController extends OrderControllerCore { public function initContent() { parent:: initContent(); /** Añadido paso actual **/ $currentStep = 1; foreach ($this->checkoutProcess->getSteps() as $index=>$step) { if ($step->isCurrent()) { $currentStep = $index+1; break; } } $this->context->smarty->assign([ 'current_checkout_step' => $currentStep, ]); /** Añadido paso actual **/ } } De este modo añado una variable $current_checkout_step que me permite saber desde la vista si estoy en el paso 1, 2, 3 ó 4. Sin embargo, esta solución me parece bastante chapucera, y estoy convencido de que tiene que haber alguna variable que indique en qué paso del proceso de checkout nos encontramos en cada momento. De hecho, me suena haber leído algo así como que se había añadido esa variable en algún changelog de alguna de las versiones de Prestashop, o en algún otro sitio, aunque he estado buscando y no he sido capaz de localizarlo. ¿Alguien conoce alguna forma mejor de identificar el paso actual en el checkout? Edited January 14, 2020 by Prestafan33 (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted January 16, 2020 Share Posted January 16, 2020 No se si es lo que necesitas, en themes/classic/templates/checkout/_partials/steps/checkout-step.tpl Alli tienes donde se asignan las classes para pasarlas a js themes/core.js 1 Link to comment Share on other sites More sharing options...
Iván Rodríguez - Col Posted October 16, 2020 Share Posted October 16, 2020 Hola, con respecto a tu pregunta y en la versión 1.7.6.1 de prestashop: En el archivo themes/classic/templates/checkout/_partials/steps/checkout-step.tpl puedes verificar la variable $position la cual te indica el paso exacto en el que estas ubicado en ese momento, si necesitas verificar si el paso ya fue completado o no, puedes usar la variable $step_is_complete (1 si esta completo, 0 si no esta completo). Cabe resaltar que estas variables son asignadas al smarty y no es necesario realizar el override a la clase OrderController.php Espero esto te pueda ayudar ya que es lo que yo hago para imprimir el resumen de la información diligenciada por el cliente. Link to comment Share on other sites More sharing options...
Erika Florez Garzon Posted October 20, 2023 Share Posted October 20, 2023 On 10/16/2020 at 9:43 AM, Iván Rodríguez - Col said: Hola, con respecto a tu pregunta y en la versión 1.7.6.1 de prestashop: En el archivo themes/classic/templates/checkout/_partials/steps/checkout-step.tpl puedes verificar la variable $position la cual te indica el paso exacto en el que estas ubicado en ese momento, si necesitas verificar si el paso ya fue completado o no, puedes usar la variable $step_is_complete (1 si esta completo, 0 si no esta completo). Cabe resaltar que estas variables son asignadas al smarty y no es necesario realizar el override a la clase OrderController.php Espero esto te pueda ayudar ya que es lo que yo hago para imprimir el resumen de la información diligenciada por el cliente. Muchas gracias @Iván Rodríguez - Col por tu comentaro, me fue de mucha utilidad 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