# Alle Hersteller eine Subshops anzeigen lassen

**URL:** <https://forum.shopware.com/t/alle-hersteller-eine-subshops-anzeigen-lassen/3316>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [27. Juni 2011 um 16:22 UTC](https://forum.shopware.com/t/alle-hersteller-eine-subshops-anzeigen-lassen/3316 "2011-06-27T16:22:44Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bandicood](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/bandicood/32/56_2.png) [@Bandicood](https://forum.shopware.com/u/Bandicood)\
**Post date:** [27. Juni 2011 um 16:22 UTC](https://forum.shopware.com/t/alle-hersteller-eine-subshops-anzeigen-lassen/3316/1 "2011-06-27T16:22:44Z")

</div>

Hi, momentan hole für ein Plugin alle unsere Hersteller mit folgendem Code ab: ` // Hersteller $sql = " SELECT s.id, name FROM `s_articles_supplier` AS s WHERE ( SELECT a.id FROM s\_articles a WHERE a.supplierID = s.id LIMIT 1 ) ORDER BY name "; $sSearchSuppliers = Shopware()-\>Db()-\>fetchAll($sql); ` Jetzt ist jedoch ein Subshop hinzugekommen, welcher komplett andere Ware und somit auch komplett andere Hersteller beinhaltet. Nun möchte ich bei der Abfrage diese Hersteller Filtern. Soll heissen, dass im Subshop auch nur die Hersteller die im Subshop verwendet werden angezeigt werden sollen. Jemand eine Idee wie das gehen könnte? Gibt es vielleicht schon eine Funktion dafür in der API? Vielen Danke für jede Hilfe! Wir nutzen momentan Shopware 3.5.3

---

<div class="post-metadata">

**Author:** ![Bandicood](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/bandicood/32/56_2.png) [@Bandicood](https://forum.shopware.com/u/Bandicood)\
**Post date:** [1. Juli 2011 um 12:17 UTC](https://forum.shopware.com/t/alle-hersteller-eine-subshops-anzeigen-lassen/3316/2 "2011-07-01T12:17:39Z")

</div>

Niimand eine Idee?

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [1. Juli 2011 um 13:48 UTC](https://forum.shopware.com/t/alle-hersteller-eine-subshops-anzeigen-lassen/3316/3 "2011-07-01T13:48:14Z")

</div>

Hey, also von der Logik her muss es anderst Laufen. Da in deiner bisher verwendeten Tabelle ja keinerlei Info zur Subshop vorhanden ist. Du müsstest alle Artikel abfragen, welche in den Kategorien des verwendeten Subshops angezeigt werden und vom Artikel dann auf die Hersteller verlinken. In der Tabelle s\_articles\_categories hast du die Zuordung der Artikel zu den Kategorien. Jetzt muss man nur noch herausfinden, welche Kategorien für welche Subshops stehen. Das steht in einer anderen Tabelle. Ich habe hier auf meiner Testumgebung aber leider keine Subshops und kann dir hier nicht weiterhelfen.

---

<div class="post-metadata">

**Author:** ![Bandicood](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/bandicood/32/56_2.png) [@Bandicood](https://forum.shopware.com/u/Bandicood)\
**Post date:** [1. Juli 2011 um 13:51 UTC](https://forum.shopware.com/t/alle-hersteller-eine-subshops-anzeigen-lassen/3316/4 "2011-07-01T13:51:07Z")

</div>

Danke für deine Antwort. Jop das habe ich mir auch gedacht, doch irgendwie habe ich noch einen Funken Hoffnung, dass es bereits eine API Funktion dafür gibt. Für die Kategorien gibt es das schliesslich auch ;-).

---

<div class="post-metadata">

**Author:** ![Bandicood](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/bandicood/32/56_2.png) [@Bandicood](https://forum.shopware.com/u/Bandicood)\
**Post date:** [7. Juli 2011 um 12:32 UTC](https://forum.shopware.com/t/alle-hersteller-eine-subshops-anzeigen-lassen/3316/5 "2011-07-07T12:32:14Z")

</div>

Ok habe es nun selbst per SQL Abfragen gemacht. Danke trotzdem für alle Antworten.

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [7. Juli 2011 um 13:10 UTC](https://forum.shopware.com/t/alle-hersteller-eine-subshops-anzeigen-lassen/3316/6 "2011-07-07T13:10:25Z")

</div>

Und wie genau? Anderen Usern ist bestimmt damit geholfen 😉

---

<div class="post-metadata">

**Author:** ![Bandicood](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/bandicood/32/56_2.png) [@Bandicood](https://forum.shopware.com/u/Bandicood)\
**Post date:** [7. Juli 2011 um 14:01 UTC](https://forum.shopware.com/t/alle-hersteller-eine-subshops-anzeigen-lassen/3316/7 "2011-07-07T14:01:38Z")

</div>

Der Code ist zwar ziemlich unsauber aber für meine Zwecke genügt es vorerst. Ist halt keine „Community“ Lösung 😉 . ` // Hersteller function multisort($array, $sort\_by, $keys) { foreach ($array as $pos =\> $val) $tmp\_array[$pos] = $val[$sort\_by]; asort($tmp\_array); foreach ($tmp\_array as $pos =\> $val) { $return\_array[$pos][$sort\_by] = $array[$pos][$sort\_by]; if(is\_array($keys)) { foreach($keys as $k) $return\_array[$pos][$k] = $array[$pos][$k]; } else $return\_array[$pos][$keys] = $array[$pos][$keys]; } return $return\_array; } $shop = Shopware()-\>Shop()-\>getId(); $sql = "SELECT DISTINCT parentID FROM s\_core\_multilanguage WHERE id='".$shop."'"; $shopcatid = Shopware()-\>Db()-\>fetchOne($sql); $sql = "SELECT DISTINCT articleID FROM s\_articles\_categories WHERE categoryparentID='".$shopcatid."'"; $shoparticles = Shopware()-\>Db()-\>fetchAll($sql); $i=0; $sSearchSuppliers = array(); foreach ($shoparticles as $key =\> $a) { $i++; $sql = "SELECT DISTINCT supplierID FROM s\_articles WHERE id='".$a['articleID']."'"; $supplierid = Shopware()-\>Db()-\>fetchOne($sql); $sql = "SELECT DISTINCT id, name FROM s\_articles\_supplier WHERE id='".$supplierid."'"; $supplier = Shopware()-\>Db()-\>fetchAll($sql); $isthere = false; foreach ($sSearchSuppliers as $key2 =\> $a2) { if ($a2['name']==$supplier[0]['name']) { $isthere = true; } } if ($isthere==false and $supplier[0]['name']!="") { $sSearchSuppliers[$i]['id']= $supplier[0]['id']; $sSearchSuppliers[$i]['name']= $supplier[0]['name']; } } $sSearchSuppliers = multisort($sSearchSuppliers, 'name',array('id','name')); $view-\>sSearchSuppliers = $sSearchSuppliers;` Eine Forenkategorie mit Codeschnipseln währe toll 😃 .
