rjtrabajo Posted July 15, 2015 Share Posted July 15, 2015 Buenas, Tengo un tienda con bastantes grupos (tarifas)...Alguien sabría como poner el nombre del grupo al que pertenece el cliente (grupo por defecto) en la factura? He probado un monton de cosas pero ninguna me lo muestra. adjunto la imagen donde se podria poner. Muchas gracias Tengo prestashop 1.6.0.14 Link to comment Share on other sites More sharing options...
ventura Posted July 15, 2015 Share Posted July 15, 2015 Para hacer lo que quieres tienes que añadir el object Group en el archivo classes\pdf\HTMLTemplateInvoice.php Link to comment Share on other sites More sharing options...
rjtrabajo Posted July 16, 2015 Author Share Posted July 16, 2015 Hola Gracias por la contestacion, podrias decirme exactamente que debo poner y donde si no te es molestia. es esto? {Group::getCurrent()->name[$cookie->id_lang]} y en invoice-b2b.tpl no debo poner nada? Gracias Roberto Link to comment Share on other sites More sharing options...
ventura Posted July 16, 2015 Share Posted July 16, 2015 (edited) Ese codigo que indicas te sirve para mostrar el grupo en el front-office. Para poder mostrarlo en las facturas tienes que hacer lo siguiente: Sobrescribe el archivo HTMLTemplateInvoice.php subiendo a este ruta un archivo con el mismo nombre override\classes\pdf\HTMLTemplateInvoice.php el archivo tiene este codigo <?php class HTMLTemplateInvoice extends HTMLTemplateInvoiceCore { /** * Returns the template's Groups name * @return string HTML groups name */ public function getContent() { $invoice_address = new Address((int)$this->order->id_address_invoice); $country = new Country((int)$invoice_address->id_country); $formatted_invoice_address = AddressFormat::generateAddress($invoice_address, array(), '<br />', ' '); $formatted_delivery_address = ''; if ($this->order->id_address_delivery != $this->order->id_address_invoice) { $delivery_address = new Address((int)$this->order->id_address_delivery); $formatted_delivery_address = AddressFormat::generateAddress($delivery_address, array(), '<br />', ' '); } $customer = new Customer((int)$this->order->id_customer); $id_lang = Context::getContext()->language->id; $group = new Group($customer->id_default_group, $id_lang ); $order_details = $this->order_invoice->getProducts(); if (Configuration::get('PS_PDF_IMG_INVOICE')) foreach ($order_details as &$order_detail) { if ($order_detail['image'] != null) { $name = 'product_mini_'.(int)$order_detail['product_id'].(isset($order_detail['product_attribute_id']) ? '_'.(int)$order_detail['product_attribute_id'] : '').'.jpg'; $order_detail['image_tag'] = ImageManager::thumbnail(_PS_IMG_DIR_.'p/'.$order_detail['image']->getExistingImgPath().'.jpg', $name, 45, 'jpg', false); if (file_exists(_PS_TMP_IMG_DIR_.$name)) $order_detail['image_size'] = getimagesize(_PS_TMP_IMG_DIR_.$name); else $order_detail['image_size'] = false; } } $data = array( 'order' => $this->order, 'order_details' => $order_details, 'cart_rules' => $this->order->getCartRules($this->order_invoice->id), 'delivery_address' => $formatted_delivery_address, 'invoice_address' => $formatted_invoice_address, 'tax_excluded_display' => Group::getPriceDisplayMethod($customer->id_default_group), 'tax_tab' => $this->getTaxTabContent(), 'customer' => $customer, 'customer_group_name' => $group->name, 'customer_group_id' => $group->id ); if (Tools::getValue('debug')) die(json_encode($data)); $this->smarty->assign($data); return $this->smarty->fetch($this->getTemplateByCountry($country->iso_code)); } } Para que funcione correctamente el override, elimina este archivo para que se regenere de nuevo y lo incluya cache/class_index.php Luego en el archivo pdf\invoice.tpl debajo de esta parte <b>{l s='Order Date:' pdf='true'}</b><br /> {dateFormat date=$order->date_add full=0}<br /> <br /> añade este codigo <b>{l s='Customer group:' pdf='true'}</b><br /> {$customer_group_name}<br /> <br /> El resultado es de la imagen adjunta Edited July 16, 2015 by ventura (see edit history) Link to comment Share on other sites More sharing options...
rjtrabajo Posted July 16, 2015 Author Share Posted July 16, 2015 (edited) Muchas gracias ha sido de gran ayuda Edited July 16, 2015 by rjtrabajo (see edit history) Link to comment Share on other sites More sharing options...
rjtrabajo Posted July 16, 2015 Author Share Posted July 16, 2015 (edited) Solo una cosa, si es posible. Mi tienda es para representantes y pueden cambiar de grupo para hacer los pedidos del cliente. Si hacen un pedido con el grupo A, en la factura aparace GRUPO A, hasta ahi es correcto, pero si cambian al GRUPO B y hacen otro pedido, en todas las facturar anteriores tambien ha cambiado el grupo. Es posible que se quede en la factura el nombre del grupo en el momento del pedido? para que no cambie luego si le vuelvo a dar a generar la factura. Edited July 16, 2015 by rjtrabajo (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted July 16, 2015 Share Posted July 16, 2015 Para hacer lo que quieres habria que crear un campo en la tabla de los pedidos en el que se registrara el id del grupo del cliente en el momento de realizar el pedido y de ahí tomar ya ese registro en vez del grupo de cliente por defecto. Para ello haria falta modificar varios archivos del core Link to comment Share on other sites More sharing options...
rionda Posted July 4, 2017 Share Posted July 4, 2017 estas opciones dejaron de funcionar para 1.6.1.X ? pregunto por que a mi me deja mi factura en blanco ... 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