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