public function assignKPI() { $b_showKPI = true; if ($b_showKPI) { $nb_association = SupplierCore::getAssociationNumber(); $nb_totalGain = SupplierCore::getTotalGain(); $nb_monthGain = SupplierCore::getMonthGain(); $nb_weekGain = SupplierCore::getWeekGain(); } $this->context->smarty->assign(array('showKPI' => $b_showKPI, 'nb_association' => $nb_association, 'nb_totalGain' => $nb_totalGain, 'nb_monthGain' => $nb_monthGain, 'nb_weekGain' => $nb_weekGain)); }
public function renderView() { $supplier = new SupplierCore((int) Tools::getValue('id_supplier')); $products = $supplier->getProductsLite($this->context->language->id); $total_product = count($products); $comb_array = array(); for ($i = 0; $i < $total_product; $i++) { $products[$i] = new Product($products[$i]['id_product'], false, $this->context->language->id); $products[$i]->loadStockData(); // Build attributes combinations $combinations = $products[$i]->getAttributeCombinations($this->context->language->id); foreach ($combinations as $combination) { $comb_infos = Supplier::getProductInformationsBySupplier($this->object->id, $products[$i]->id, $combination['id_product_attribute']); $comb_array[$combination['id_product_attribute']]['product_supplier_reference'] = $comb_infos['product_supplier_reference']; $comb_array[$combination['id_product_attribute']]['product_supplier_price_te'] = Tools::displayPrice($comb_infos['product_supplier_price_te'], new Currency($comb_infos['id_currency'])); $comb_array[$combination['id_product_attribute']]['reference'] = $combination['reference']; $comb_array[$combination['id_product_attribute']]['ean13'] = $combination['ean13']; $comb_array[$combination['id_product_attribute']]['upc'] = $combination['upc']; $comb_array[$combination['id_product_attribute']]['quantity'] = $combination['quantity']; $comb_array[$combination['id_product_attribute']]['attributes'][] = array($combination['group_name'], $combination['attribute_name'], $combination['id_attribute']); } if (isset($comb_array)) { foreach ($comb_array as $key => $product_attribute) { $list = ''; foreach ($product_attribute['attributes'] as $attribute) { $list .= $attribute[0] . ' - ' . $attribute[1] . ', '; } $comb_array[$key]['attributes'] = rtrim($list, ', '); } isset($comb_array) ? $products[$i]->combination = $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('supplier' => $this->object, 'products' => $products, 'stock_management' => Configuration::get('PS_STOCK_MANAGEMENT'), 'shopContext' => Shop::getContext()); return parent::renderView(); }
public function getProductsLite($id_lang) { $context = Context::getContext(); $front = true; if (!in_array($context->controller->controller_type, array('front', 'modulefront'))) { $front = false; } $agile_sql_parts = AgileSellerManager::getAdditionalSqlForProducts("p"); if (empty($agile_sql_parts['joins']) or empty($agile_sql_parts['wheres'])) { parent::getProductsLite($id_lang); } $sql = ' SELECT p.`id_product`, pl.`name` FROM `' . _DB_PREFIX_ . 'product` p ' . Shop::addSqlAssociation('product', 'p') . ' LEFT JOIN `' . _DB_PREFIX_ . 'product_lang` pl ON ( p.`id_product` = pl.`id_product` AND pl.`id_lang` = ' . (int) $id_lang . ' ) INNER JOIN `' . _DB_PREFIX_ . 'product_supplier` ps ON ( ps.`id_product` = p.`id_product` AND ps.`id_supplier` = ' . (int) $this->id . ' ) ' . ($front ? ' WHERE product_shop.`visibility` IN ("both", "catalog")' : '') . ' GROUP BY p.`id_product`'; $finalResults = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql); $finalResults = AgileSellerManager::prepareSellerRattingInfo($finalResults); return $finalResults; }
/** * Creates a Supplier in Prestashop if not exists, returns supplier id elsewhere. * * @param string $name_supplier * @return integer * */ private function setSupplierForProduct($name_supplier) { $id_supplier = 0; $supplier = new SupplierCore(); $id_supplier = $supplier::getIdByName(trim($name_supplier)); if (!$id_supplier) { $supplier->name = trim($name_supplier); $supplier->add(); $id_supplier = $supplier->id; } return $id_supplier; }
public function getProductsByCategory($id_category, $id_lang, $p, $n, $order_by = null, $order_way = null, $get_total = false, $active = true, $active_category = true) { return SupplierCore::getProductsBySupplierAndCategory($this->id, $id_category, $id_lang, $p, $n, $order_by, $order_way, $get_total, $active, $active_category); }
/** * Get supplier name by id * * @param int $id_supplier * * @return string */ public function getNameById($id_supplier) { return \SupplierCore::getNameById($id_supplier); }