On 3/27/2023 at 7:49 AM, Socrates said:Aquí creé las dos variables $colorTitle y $colorValue y les asigné los valores correspondientes. Donde 'value' es el color del producto.
public function viewAction(int $orderId, Request $request): Response ...Luego asigno las variables al final de la clase.
return $this->render('@PrestaShop/Admin/Sell/Order/Order/view.html.twig', [ ... 'colorTitle' => $colorTitle, 'colorValue' => $colorValue, ]);Todo esto lo hago en el OrderController.php el cual es parte del core de Prestashop. No debería hacer eso, pero la verdad me ha sido imposible hacer override.
Esto está funcionando perfectamente ahora.
Estoy en la misma, quiero agregar una variable que intento obtener de la DB al template shipping.html.twig en la pagina del Pedido. Todavia no he logrado en mi caso encontrar el metodo render que agrega todas las variables ya existentes en el template, pero si puedo ayudarte con el hecho de como sobreescribir el template sin tocar el core.
Basicamente la unica manera (y la oficial mencionada en la documentacion de PS) es creando un modulo. No necesita ser un modulo especifico ni estar ubicado en ningun hook en particular, podes crearlo con ESTA herramienta de prestashop y luego una vez creado el modulo, dentro de la carpeta Views del modulo debes crear la misma ruta del template que queres sobreescribir. Si el tempate tiene blocks podes extender el original y solo sobreescribir el bloque deseado o directamente sobreescribir todo el template.
Aca te dejo el link de la docu oficial donde lo explica con un ejemplo.
https://devdocs.prestashop-project.org/1.7/modules/concepts/templating/admin-views/
Nota: con la herramienta para generar el boilerplate del modulo tenes que tener una consideracion en el campo Module name debes poner el nombre del modulo sin espacios, pero utiliza solo PascalCase no camelCase, no kebab-case, no snake_case. Porque es este campo el que va a utilizar para crear el nombre de la class php ppal del modulo y si usas guiones vas a generar un error de sintaxis y cuando lo instales va a romper.