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
');
}
}