diff --git a/admin-dev/themes/default/template/suppliers/view.tpl b/admin-dev/themes/default/template/suppliers/view.tpl index 83ba2ba58..5610336bb 100644 --- a/admin-dev/themes/default/template/suppliers/view.tpl +++ b/admin-dev/themes/default/template/suppliers/view.tpl @@ -36,8 +36,10 @@ {if !$product->hasAttributes()}
| {$product->name} | - {if !empty($product->reference)}{l s='Ref:'} {$product->reference} | {/if} +{l s='Name:'}{$product->name} | + {if !empty($product->product_supplier_reference)}{l s='Supplier Reference:'} {$product->product_supplier_reference} | {/if} + {if !empty($product->product_supplier_price_te)}{l s='Wholesale price:'} {$product->product_supplier_price_te} | {/if} + {if !empty($product->reference)}{l s='Reference:'} {$product->reference} | {/if} {if !empty($product->ean13)}{l s='EAN13:'} {$product->ean13} | {/if} {if !empty($product->upc)}{l s='UPC:'} {$product->upc} | {/if} {if $stock_management}{l s='Available Quantity:'} {$product->quantity} | {/if} @@ -48,13 +50,17 @@
|---|
| {l s='Attribute name'} | +{l s='Supplier Reference'} | +{l s='Wholesale price'} | {l s='Reference'} | {l s='EAN13'} | {l s='UPC'} | @@ -63,6 +69,8 @@ {foreach $product->combinaison AS $id_product_attribute => $product_attribute}
|---|---|---|---|---|---|
| {$product_attribute.attributes} | +{$product_attribute.product_supplier_reference} | +{$product_attribute.product_supplier_price_te} | {$product_attribute.reference} | {$product_attribute.ean13} | {$product_attribute.upc} | diff --git a/classes/Supplier.php b/classes/Supplier.php index 104e9c96c..82dcb7cd0 100644 --- a/classes/Supplier.php +++ b/classes/Supplier.php @@ -288,7 +288,8 @@ class SupplierCore extends ObjectModel public function getProductsLite($id_lang) { $sql = ' - SELECT p.`id_product`, pl.`name` + SELECT p.`id_product`, + pl.`name` FROM `'._DB_PREFIX_.'product` p LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON ( p.`id_product` = pl.`id_product` @@ -300,7 +301,8 @@ class SupplierCore extends ObjectModel ) GROUP BY p.`id_product`'; - return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql); + $res = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql); + return $res; } /* @@ -328,5 +330,27 @@ class SupplierCore extends ObjectModel if (parent::delete()) return $this->deleteImage(); } + + /** + * Gets product informations + * + * @since 1.5.0 + * @param int $id_supplier + * @param int $id_product + * @param int $id_product_attribute + * @return array + */ + public static function getProductInformationsBySupplier($id_supplier, $id_product, $id_product_attribute = 0) + { + $query = new DbQuery(); + $query->select('product_supplier_reference, product_supplier_price_te, id_currency'); + $query->from('product_supplier'); + $query->where('id_supplier = '.(int)$id_supplier); + $query->where('id_product = '.(int)$id_product); + $query->where('id_product_attribute = '.(int)$id_product_attribute); + $res = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query); + + return $res[0]; + } } diff --git a/controllers/admin/AdminSuppliersController.php b/controllers/admin/AdminSuppliersController.php index 3ba3300ff..e41517b90 100644 --- a/controllers/admin/AdminSuppliersController.php +++ b/controllers/admin/AdminSuppliersController.php @@ -261,6 +261,11 @@ class AdminSuppliersControllerCore extends AdminController $combinaisons = $products[$i]->getAttributeCombinaisons($this->context->language->id); foreach ($combinaisons as $k => $combinaison) { + $comb_infos = Supplier::getProductInformationsBySupplier($this->object->id, + $products[$i]->id, + $combinaison['id_product_attribute']); + $comb_array[$combinaison['id_product_attribute']]['product_supplier_reference'] = $comb_infos['product_supplier_reference']; + $comb_array[$combinaison['id_product_attribute']]['product_supplier_price_te'] = Tools::displayPrice($comb_infos['product_supplier_price_te'], new Currency($comb_infos['id_currency'])); $comb_array[$combinaison['id_product_attribute']]['reference'] = $combinaison['reference']; $comb_array[$combinaison['id_product_attribute']]['ean13'] = $combinaison['ean13']; $comb_array[$combinaison['id_product_attribute']]['upc'] = $combinaison['upc']; @@ -284,6 +289,14 @@ class AdminSuppliersControllerCore extends AdminController isset($comb_array) ? $products[$i]->combinaison = $comb_array : ''; unset($comb_array); } + else + { + $product_infos = Supplier::getProductInformationsBySupplier($this->object->id, + $products[$i]->id, + 0); + $products[$i]->product_supplier_reference = $product_infos['product_supplier_reference']; + $products[$i]->product_supplier_price_te = Tools::displayPrice($product_infos['product_supplier_price_te'], new Currency($product_infos['id_currency'])); + } } $this->tpl_view_vars = array(