schattenburg Posted January 14, 2016 Share Posted January 14, 2016 Hola, estoy intentando añadir el campo DNI del cliente en la factura que se genera en el PDF, por lo que he visto se hace en: Localización-> Paises -> Editar Paises -> Formato dirección y añade "dni" en el formato de la dirección Lo he probado y no me funciona. Este Prestashop lo han tocado otros programadores antes que yo por lo que supongo que a lo mejor el proceso de generar la factura en PDF está hecho a pelo. Trato de comprender el proceso que se sigue: a) Se llama al controller de AdminPDFControllers a la funcion generateInvoicePDFByIdOrder que tiene lo siguiente: public function generateInvoicePDFByIdOrder($id_order) { $order = new Order((int)$id_order); if (!Validate::isLoadedObject($order)) { die(Tools::displayError('The order cannot be found within your database.')); } $order_invoice_list = $order->getInvoicesCollection(); Hook::exec('actionPDFInvoiceRender', array('order_invoice_list' => $order_invoice_list)); $this->generatePDF($order_invoice_list, PDF::TEMPLATE_INVOICE); } Me voy a la función getInvoicesCollection de la clase order que tiene lo siguiente: public function getInvoicesCollection() { $order_invoices = new PrestaShopCollection('OrderInvoice'); $order_invoices->where('id_order', '=', $this->id); return $order_invoices; } c) Por lo que deduzco (no estoy seguro) que en PrestashopCollection se le pasa el nombre del modelo del que quieres extraer los campos a mostrar en la factura. La pregunta es: ¿Dónde está físicamente ese fichero? ¿Dónde puedo ver donde están todos los PrestashopCollection para así añadirle el DNI a OrderInvoice? Quizás hay alguna otra forma de hacerlo pero por el momento no encuentro nada. Gracias por adelantado. Link to comment Share on other sites More sharing options...
ventura Posted January 14, 2016 Share Posted January 14, 2016 Los formatos de las direcciones para las facturas vienen de classes\pdf\HTMLTemplateInvoice.php Alli tienes donde se toman las direcciones public function getContent() y donde se crean las variables que se pasan al .tpl, en el array $data = array( 'delivery_address' => $formatted_delivery_address, 'invoice_address' => $formatted_invoice_address, 1 Link to comment Share on other sites More sharing options...
schattenburg Posted January 14, 2016 Author Share Posted January 14, 2016 Muchas gracias. Me ha sido muy útil. 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