# Herstellerliste

**URL:** <https://forum.shopware.com/t/herstellerliste/4610>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [7. Oktober 2011 um 15:15 UTC](https://forum.shopware.com/t/herstellerliste/4610 "2011-10-07T15:15:58Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![inkognito](https://avatars.discourse-cdn.com/v4/letter/i/a587f6/32.png) [@inkognito](https://forum.shopware.com/u/inkognito)\
**Post date:** [7. Oktober 2011 um 15:15 UTC](https://forum.shopware.com/t/herstellerliste/4610/1 "2011-10-07T15:15:58Z")

</div>

Ich würde gerne eine Seite erstellen auf der alle Hersteller mit iHren Links (Website, Artikel) aufgelistet sind. Gibt es eine Möglichkeit diese Liste direkt abzufragen?

---

<div class="post-metadata">

**Author:** ![Oliver\_Skroblin](https://avatars.discourse-cdn.com/v4/letter/o/6bbea6/32.png) [@Oliver\_Skroblin](https://forum.shopware.com/u/Oliver_Skroblin)\
**Post date:** [13. Oktober 2011 um 13:20 UTC](https://forum.shopware.com/t/herstellerliste/4610/2 "2011-10-13T13:20:08Z")

</div>

Hallo inkognito, du könntest das ganze über ein Plugin realisieren. Zuerst solltest du dir einen eigenen Controller erstellen z.B.: `$event = $this-\>createEvent('Enlight\_Controller\_Dispatcher\_ControllerPath\_Frontend\_SupplierListing', 'onGetControllerPath\_Frontend\_SupplierListing'); ` In diesem Controller kannst du dann über die Tabelle s\_articles\_supplier alle Hersteller mit dessen Logo und Homepage Link auslesen. Die Zuordnung zwischen Hersteller und Artikel geschieht über die Tabelle s\_articles.supplierID = s\_articles\_supplier.id. Danach brauchst du nur noch ein eigenes Tempalte laden und die Daten anzeigen lassen. Gruß Oliver Denter

---

<div class="post-metadata">

**Author:** ![inkognito](https://avatars.discourse-cdn.com/v4/letter/i/a587f6/32.png) [@inkognito](https://forum.shopware.com/u/inkognito)\
**Post date:** [24. Oktober 2011 um 15:57 UTC](https://forum.shopware.com/t/herstellerliste/4610/3 "2011-10-24T15:57:59Z")

</div>

Vielen Dank, jetzt weiss ich wenigstens wie die Daten verknüpft sind und woher Sie kommen. Aber ich komme wohl nicht umhin mich in die Klassenbibliothek einzuarbeiten. Gibt es da ein Tutorial? Die Klassendokumentation ist ja nicht so ergiebig wenn man die Grundzusammenhänge verstehen will.

---

<div class="post-metadata">

**Author:** ![flo.kalango](https://avatars.discourse-cdn.com/v4/letter/f/6a8cbe/32.png) [@flo.kalango](https://forum.shopware.com/u/flo.kalango)\
**Post date:** [31. Juli 2013 um 12:02 UTC](https://forum.shopware.com/t/herstellerliste/4610/4 "2013-07-31T12:02:11Z")

</div>

Mich interessiert das auch brennend; allerdings für Shopware 4.1! Ich habe versucht, solch ein Plugin zu schreiben, es will aber nicht funktionieren. Hier meine Bootstrap.php: [code]\<?php /\*\*  
\*Bootstrap Class of the Plugin “Manufacterer Listing”  
\*/  
class Shopware\_Plugins\_Frontend\_VDManufactererListing\_Bootstrap extends Shopware\_Components\_Plugin\_Bootstrap  
{  
public function getCapabilities()  
{  
return array(  
‘install’ =\> true, ‘update’ =\> true, ‘enable’ =\> true ); } public function getLabel() { return ‘Hersteller Listing’; } public function getVersion() { return ‘0.0.1’; } public function getInfo() { return array( ‘version’ =\> $this-\>getVersion(), ‘label’ =\> $this-\>getLabel(), ‘supplier’ =\> ‘FW’, ‘description’ =\> ‘Eine Liste der gespeicherten Hersteller im Template ausgeben’, ‘support’ =\> ‘FW,a@b.de’, ‘link’ =\> ‘[http://www.myshopware.de/](http://www.myshopware.de/)’ ); } public function install() { $this-\>subscribeEvent($event); return true; } protected function subscribeEvents() { $event = $this-\>createEvent( ‘Enlight\_Controller\_Dispatcher\_ControllerPath\_Frontend\_SupplierListing’, ‘onGetControllerPath\_Frontend\_SupplierListing’ ); } public function onGetControllerPath\_Frontend\_SupplierListing() { $supplierID = $this-\>Request()-\>getParam(‘supplierID’); $select =’ SELECT s\_articles\_supplier.img, s\_articles\_supplier.description FROM s\_articles\_supplier ‘; $items = Shopware()-\>Db()-\>fetchRow($select, $supplierID); $this-\>View()-\>assign(array( ‘success’ =\> true, ‘data’ =\> $items, ‘count’ =\> count($items) )); $view-\>extendsTemplate(dirname(\_\_FILE\_\_).’/index.tpl’); $view-\>extendsBlock(“frontend\_index\_supplierlisting”,’

{$items}

'); } }[/code] In meiner index.tpl sieht’s so aus: [code]{block name=“frontend\_index\_supplierlisting”}

# Herstellerliste

{$items}

{/block}[/code] 1. Leider wird im Template nur die Überschrift ausgegeben, der Inhalt innerhalb des

Tags bleibt leer. 2. Stimmt meine Zuweisung "$view-\>extendsBlock(“frontend\_index\_supplierlisting”,’

{$items}

');" so? 3. Kann mein Plugin so überhaupt funktionieren? Mein Eindruck ist, das meine bootstrap.php nicht aufgerufen wird, wenn der User auf meine Inhaltsseite “Hersteller” klickt, die auf das Template verweist. Bin ein Einsteiger und über Hilfe sehr dankbar! Grüße, Flo

---

<div class="post-metadata">

**Author:** ![waldicom](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/waldicom/32/12881_2.png) [@waldicom](https://forum.shopware.com/u/waldicom)\
**Post date:** [31. Juli 2013 um 12:50 UTC](https://forum.shopware.com/t/herstellerliste/4610/5 "2013-07-31T12:50:58Z")

</div>

Solche Plugins gibt es schon im Store, z.B. hier: [http://store.shopware.de/template-desig … iner-seite](http://store.shopware.de/template-design/herstelleruebersicht-marken-auf-einer-seite) Dein Plugin kann so nicht funktionieren, uns zwar aus mehreren Gründen. Einige davon sind: - fetchAll gibt ein Array zurück, das muss im Template durchiteriert werden - die Logik gehört in den Controller (heißt bei Dir SupplierListing) - die Hersteller würden dann angezeigt werden, wenn der Controller aufgerufen wird (etwa [http://deinshop.de/SupplierListing](http://deinshop.de/SupplierListing)) - …

---

<div class="post-metadata">

**Author:** ![memo](https://avatars.discourse-cdn.com/v4/letter/m/a5b964/32.png) [@memo](https://forum.shopware.com/u/memo)\
**Post date:** [24. Juni 2015 um 16:30 UTC](https://forum.shopware.com/t/herstellerliste/4610/6 "2015-06-24T16:30:28Z")

</div>

Muss man dafür denn wirklich ein Plugin schreiben/kaufen? Im Listing werden die Hersteller ja auch über den Array $sSuppliers zu Verfügung gestellt. Ausgegeben werden die Hersteller damit z.B. in frontend/listing/filter\_supplier.tpl Wenn ich den Inhalt dieses Templates in ein eigenes custom-Template einfüge, klappt das natürlich nicht, da der Array $sSuppliers nicht vorhanden ist. Kann man den aber nicht irgendwie ansprechen oder laden? Danke und Gruss memo
