# welche semantik hat s\_articles\_details.kind in SW4?

**URL:** https://forum.shopware.com/t/welche-semantik-hat-s-articles-details-kind-in-sw4/8354
**Category:** Shopware 3.5
**Tags:** programming
**Created:** [2. September 2012 um 23:06 UTC](https://forum.shopware.com/t/welche-semantik-hat-s-articles-details-kind-in-sw4/8354 "2012-09-02T23:06:06Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![bui\_ak](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@bui\_ak](https://forum.shopware.com/u/bui_ak)
#### Post date: [2. September 2012 um 23:06 UTC](https://forum.shopware.com/t/welche-semantik-hat-s-articles-details-kind-in-sw4/8354/1 "2012-09-02T23:06:06Z")

</div>

hallo, ich habe die demodaten in die 401 eingespielt und betrachte `SELECT \* FROM `s_articles_details` WHERE `articleID` =2` “Münsterländer Lagerkorn 32%” Prost! 🙂 hier scheint es als ob kind einfach nur ein zähler ist. das wird irgendwann schiefgehen wg.: `kind` int(1) NOT NULL DEFAULT ‘0’ im Model Models\Article\Detail steht ` /\*\* \* @var integer $kind \* \* @ORM\Column(name="kind", type="integer", nullable=false) \*/ private $kind = 2;` 2 ??? welche bedeutung hat kind in SW4?

---

<div class="post-metadata">

### Author: ![JSchwehn](https://avatars.discourse-cdn.com/v4/letter/j/85f322/32.png) [@JSchwehn](https://forum.shopware.com/u/JSchwehn)
#### Post date: [5. September 2012 um 10:37 UTC](https://forum.shopware.com/t/welche-semantik-hat-s-articles-details-kind-in-sw4/8354/2 "2012-09-05T10:37:57Z")

</div>

Hallo bui\_ak, kind ist kein Zähler. ‚kind‘ ist ein Flag welches anzeigt, was für ein Detail-Typ man vor sich hat. Im Model ist der Wert mit 2 auf einen Standard vorbelegt, dieser Wert kann aber später überschrieben werden. 1 = gehört zum Default Artikel 2 = gehört zu einer Variante/Konfigurator 3 = interne Verwendung - in den meisten Queries werden diese Typen rausgefiltert „kind \<\> 3“

---

<div class="post-metadata">

### Author: ![bui\_ak](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@bui\_ak](https://forum.shopware.com/u/bui_ak)
#### Post date: [5. September 2012 um 20:12 UTC](https://forum.shopware.com/t/welche-semantik-hat-s-articles-details-kind-in-sw4/8354/3 "2012-09-05T20:12:19Z")

</div>

aha, dann hat also jeder konfigurator-artikel falls varianten generiert wurden seine “master-informationen” in details gespeichert mit kind=3 ?! kind=1 ist doch eigentlich überflüssig, weil s\_article.main\_detail\_id ja auf das detail mit kind=1 zeigt… wie dem auch sein, wäre schön wenns dazu konstanten z.b. in engine/Shopware/Models/Article/Detail.php gäbe und oder kind ein enum wäre. ah, und wie ich gerade feststelle: blogs und gutscheine sind keine artikel mehr 🙂 sehr schön.

---

<div class="post-metadata">

### Author: ![oli](https://avatars.discourse-cdn.com/v4/letter/o/2bfe46/32.png) [@oli](https://forum.shopware.com/u/oli)
#### Post date: [6. September 2012 um 08:41 UTC](https://forum.shopware.com/t/welche-semantik-hat-s-articles-details-kind-in-sw4/8354/4 "2012-09-06T08:41:16Z")

</div>

Bei Varianten-Artikeln ist das aber etwas krumm: Bei regulären Artikeln ist kind=1 (wenn es eh nur einen Eintrag in der s\_articles\_details gibt) Bei einem Varianten-Artikel, den ich angelegt habe, ist der „Hauptartikel“ kind=3, die erste Variante ist kind=1 und die restlichen Varianten sind kind=2 Wie selecte ich jetzt alle Artikel unter Ausschluss der Varianten (bei Varianten will ich nur den Hauptartikel)?

---

<div class="post-metadata">

### Author: ![JSchwehn](https://avatars.discourse-cdn.com/v4/letter/j/85f322/32.png) [@JSchwehn](https://forum.shopware.com/u/JSchwehn)
#### Post date: [6. September 2012 um 10:36 UTC](https://forum.shopware.com/t/welche-semantik-hat-s-articles-details-kind-in-sw4/8354/5 "2012-09-06T10:36:28Z")

</div>

Hallo Oli und hallo bui\_ak, das Detail vom Typ “3” ist Backup des ursprünglichen Artikels welches beim Erzeugen der Varianten erstellt wird. Typ 3 sollte immer ignoriert werden. Um den Hauptartikel auszulesen, joint man einfach das Feld “s\_articles.main\_detail\_id” einfach mit s\_articles\_detail und hat alle Daten zu diesem Artikel zusammen. Das Ganze kann man sich sehr schön ansehen, wenn man im Backend in der Artikelübersicht den Haken “Varianten anzeigen” setzt bzw. nicht setzt. In der Datei engine/Shopware/Controllers/Backend/ArticleList.php in Zeile 365 ist z.B. der Join. Das mit den Konstanten ist eine gute Idee mal sehen was ich machen kann 🙂

---

<div class="post-metadata">

### Author: ![Benjamin\_Cremer](https://avatars.discourse-cdn.com/v4/letter/b/a8b319/32.png) [@Benjamin\_Cremer](https://forum.shopware.com/u/Benjamin_Cremer)
#### Post date: [6. September 2012 um 10:38 UTC](https://forum.shopware.com/t/welche-semantik-hat-s-articles-details-kind-in-sw4/8354/6 "2012-09-06T10:38:02Z")

</div>

Hallo Oli, anbei zwei Queries für dich: 1. Hole alle Artikel + Hauptvariante ` SELECT \* FROM s\_articles a INNER JOIN s\_articles\_details d ON a.main\_detail\_id = d.id ` 2. Holle alle Artikel + alle Varianten ` SELECT \* FROM s\_articles a INNER JOIN s\_articles\_details d ON a.id = d.articleID AND d.kind \<\> 3 ORDER BY a.id, d.kind ` Kind = 3 solltest du bei sämtlichen Queries die Varianten beinhalten ausschließen. Viele Grüße, Benjamin Cremer :shopware:
