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