settings = $settings; $this->feedLangId = (int)Configuration::get('PS_LANG_DEFAULT'); $this->protocol = $protocol; return $this->generateXml($this->getSuppliers()); } protected function generateXml($suppliers) { $xml = ''; if (empty($suppliers)) { return ''; } $link = new Link(); $addImage = method_exists($link, 'getSupplierImageLink'); foreach ($suppliers as $b) { if ($addImage) { $logoUrl = $link->getSupplierImageLink($b['id_supplier']); if (!empty($logoUrl) && Tools::substr($logoUrl, 0, 4) != 'http') { $logoUrl = $this->protocol . $logoUrl; } } $xml .= ''; $xml .= ''; $xml .= ''; $xml .= 'getSupplierLink($b['id_supplier'], null, (int)$this->feedLangId).']]>'; $xml .= ''; $xml .= ''; $xml .= ''; $xml .= !empty($logoUrl) ? '' : ''; $xml .= ''; $xml .= ''; } $xml .= ''; return $xml; } protected function getSuppliers() { return Db::getInstance()->ExecuteS(' SELECT m.*, l.description FROM '._DB_PREFIX_.'supplier m LEFT JOIN '._DB_PREFIX_.'supplier_lang l ON (l.id_supplier = m.id_supplier AND l.id_lang = "'.(int)$this->feedLangId.'") WHERE m.`active` = 1 ORDER BY m.name ASC '); } }