larose Posted October 25, 2016 Share Posted October 25, 2016 Hola a todos, hace mucho que no aportaba algo y hoy he hecho una corrección que me he encontrado. Los usuarios de PS 1.6.0.X que no hayan actualizado tendrán el siguiente error: El PDF de las devoluciones no muestra los datos de empresa como Nombre de la empresa, dirección, teléfono, el CIF, etc. en el encabezado del documento. Para que aparezcan sólo hay que modificar dos ficheros: 1. Editar el fichero /classes/order/OrderSlip.php y añadir, antes de la última llave de cierre " } " estas dos funciones: public static function getCurrentFormattedShopAddress($id_shop = null) { $address = new Address(); $address->company = Configuration::get('PS_SHOP_NAME', null, null, $id_shop); $address->address1 = Configuration::get('PS_SHOP_ADDR1', null, null, $id_shop); $address->address2 = Configuration::get('PS_SHOP_ADDR2', null, null, $id_shop); $address->postcode = Configuration::get('PS_SHOP_CODE', null, null, $id_shop); $address->city = Configuration::get('PS_SHOP_CITY', null, null, $id_shop); $address->phone = Configuration::get('PS_SHOP_PHONE', null, null, $id_shop); $address->id_country = Configuration::get('PS_SHOP_COUNTRY_ID', null, null, $id_shop); return AddressFormat::generateAddress($address, array(), '<br />', ' '); } public static function fixAllShopAddresses() { $shop_ids = Shop::getShops(false, null, true); $db = Db::getInstance(); foreach ($shop_ids as $id_shop) { $address = self::getCurrentFormattedShopAddress($id_shop); $escaped_address = $db->escape($address, true, true); $db->execute('UPDATE `'._DB_PREFIX_.'order_invoice` INNER JOIN `'._DB_PREFIX_.'orders` USING (`id_order`) SET `shop_address` = \''.$escaped_address.'\' WHERE `shop_address` IS NULL AND `id_shop` = '.$id_shop); } } 2. Editar el archivo /pdf/HTMLTemplateOrderSlip.php después de la línea 50 (donde pone "$this->smarty = $smarty; ") añadir lo siguiente: if (!isset($this->order_slip->shop_address) || !$this->order_slip->shop_address) { $this->order_slip->shop_address = OrderSlip::getCurrentFormattedShopAddress((int)$this->order->id_shop); if (!$bulk_mode) { OrderSlip::fixAllShopAddresses(); } } Guardamos y subimos los dos archivos por FTP y ya podremos ver los datos de nuestra tienda en los PDF de devoluciones. Saludos 1 Link to comment Share on other sites More sharing options...
Recommended Posts