ich suche eine einfache Lösung eine Übersicht aller Händler auf den Listing-Seiten unterzubringen. Eine Variable/Array hab ich dazu nicht gefunden. So habe ich erstmal ein Plugin gemacht bei denen man entweder von Hand oder per Datenbankeintrag (s_articles_supplier) ein einfaches Result ausgibt. Meine Frage: Geht das nicht leichter? In den EKW’s werden ja auch die Hersteller aufgelistet… wie funktioniert es dort?
Wenn du alle Händler haben möchtest, musst du dir zuvor alle IDs aus der Datenbank laden.
Um dann jedoch die Verknüpfungen, Übersetzungen, etc. zu laden, gibt es den ManufacturerService.
$ids = [1, 3, 5, 7]; // Datenbank IDs der Hersteller.
$service = Shopware()->Container()->get('shopware_storefront.manufacturer_service');
$context = Shopware()->Container()->get('shopware_storefront.context_service')->getShopContext();
// Herstellerdaten laden
$manufacturers = $service->getList($ids, $context);
// Wenn man die Daten noch als Array für das Template benötigt:
$legacyStructConverter = Shopware()->Container()->get('legacy_struct_converter');
$manufacturersArray = [];
foreach ($manufacturers as $manufacturer) {
$manufacturersArray[] = $legacyStructConverter->convertManufacturerStruct($manufacturer);
}
// $manufacturersArray enhält jetzt ein Array, wie es auch beim Hersteller-Slider zur Verfügung steht