# Artikelanzahl hinter Kategoriename

**URL:** <https://forum.shopware.com/t/artikelanzahl-hinter-kategoriename/2703>\
**Category:** Shopware 3.5\
**Tags:** templates--design\
**Created:** [8. Mai 2011 um 00:29 UTC](https://forum.shopware.com/t/artikelanzahl-hinter-kategoriename/2703 "2011-05-08T00:29:33Z")\
**Posts on this page:** 12\
**Page:** 1

<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:** [8. Mai 2011 um 00:29 UTC](https://forum.shopware.com/t/artikelanzahl-hinter-kategoriename/2703/1 "2011-05-08T00:29:33Z")

</div>

Hey, gibt es eine einfache Möglichkeit die Artikelanzahl hinter den Kategoriename zu bekommen? Sprich die Anzahl der Artikel, welche die Kategorie beinhaltet? EDIT. Ich habs übersehen, sorry. countArticle heißt die Varibale ;( Gute Nacht

---

<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:** [8. Mai 2011 um 00:41 UTC](https://forum.shopware.com/t/artikelanzahl-hinter-kategoriename/2703/2 "2011-05-08T00:41:16Z")

</div>

Zufrüh gefreut. Es klappt nicht. Warum? Der Code sollte eig. stimmen: [code] {function name=categories level=0}

{block name=“frontend\_index\_categories\_left\_ul”}{/block} {foreach from=$categories item=category} - [{$category.description} ({$category.countArticles})]({if $category.external}{$category.external}{else}{$category.link|rewrite:$category.description}{/if}) {if $category.subcategories} {call name=categories categories=$category.subcategories level=$level+1} {/if}  
{/foreach} {/function} [/code]

---

<div class="post-metadata">

**Author:** ![SebastianKloepper](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sebastiankloepper/32/21435_2.png) [@SebastianKloepper](https://forum.shopware.com/u/SebastianKloepper)\
**Post date:** [8. Mai 2011 um 01:17 UTC](https://forum.shopware.com/t/artikelanzahl-hinter-kategoriename/2703/3 "2011-05-08T01:17:30Z")

</div>

Du hast doch nur das hier ergänzt, oder? ({$category.countArticles}) Das klappt bei mir auf jeden Fall ohne Probleme…

---

<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:** [8. Mai 2011 um 02:49 UTC](https://forum.shopware.com/t/artikelanzahl-hinter-kategoriename/2703/4 "2011-05-08T02:49:00Z")

</div>

Richtig. Ich habe nur die Variable hinzugefügt, mehr nicht! Allerdings habe ich keine Werte erhalten. Ich Versuchs morgen noch mal 😉

---

<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:** [8. Mai 2011 um 10:12 UTC](https://forum.shopware.com/t/artikelanzahl-hinter-kategoriename/2703/5 "2011-05-08T10:12:49Z")

</div>

Morgen, ich habe es nun noch mal geprüft. Bei mir klappt es nicht. Bzw. klappt es auf allein Seiten, außer der Home/Startseite, hier erhalte ich keine Anzahl. Klicke ich aber auch eien Kategorie und diese wird gelade, habe ich dann auf einmal alle Werte. Firebug zeigt mir aber auch auf der Startseite die Variablen an. So sieht die categories\_left.tpl aus: [code] {\* Maincategories left \*} {function name=categories level=0}

{block name=“frontend\_index\_categories\_left\_ul”}{/block} {foreach from=$categories item=category} - [{$category.description} ({$category.countArticles})]({if $category.external}{$category.external}{else}{$category.link|rewrite:$category.description}{/if}) {if $category.subcategories} {call name=categories categories=$category.subcategories level=$level+1} {/if}  
{/foreach} {/function} {if $sCategories} {call name=categories categories=$sCategories} {elseif $sMainCategories} {call name=categories categories=$sMainCategories} {/if} [/code]

---

<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:** [9. Mai 2011 um 22:20 UTC](https://forum.shopware.com/t/artikelanzahl-hinter-kategoriename/2703/6 "2011-05-09T22:20:40Z")

</div>

Nabend, in countArticles stehen werden leider auch inaktive Artikel mit gezählt. Nun habe ich versucht dies in der sCategories.php zu verhindern, leider ohne Erfolg. Hat jmd eine Idee? ` $sql = " SELECT c.\*, (SELECT COUNT(\*) FROM s\_articles\_categories inner join s\_articles on s\_articles\_categories.articleID = s\_articles.ID WHERE s\_articles\_categories.categoryID = c.id and s\_articles.active = 1 GROUP BY categoryID) AS countArticles FROM s\_categories c WHERE parent = ? AND c.active = 1 AND ( SELECT categoryID FROM s\_categories\_avoid\_customergroups WHERE categoryID = c.id AND customergroupID = ".$this-\>sSYSTEM-\>sUSERGROUPDATA["id"]." ) IS NULL HAVING countArticles\>0 ORDER BY position, description "; `

---

<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:** [10. Mai 2011 um 15:57 UTC](https://forum.shopware.com/t/artikelanzahl-hinter-kategoriename/2703/7 "2011-05-10T15:57:04Z")

</div>

Hat hierzu noch jmd eine Idee? Ich will, dass in der countArticle Variable in der Kategorie nur die aktiven Artikel gezählt werden!

---

<div class="post-metadata">

**Author:** ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)\
**Post date:** [10. Mai 2011 um 16:06 UTC](https://forum.shopware.com/t/artikelanzahl-hinter-kategoriename/2703/8 "2011-05-10T16:06:53Z")

</div>

Probiere das mal so: … SELECT COUNT(\*) FROM s\_articles\_categories INNER JOIN s\_articles\_details ON s\_articles\_categories.articleID = s\_articles\_details.articleID AND s\_articles\_details.kind = 1 AND s\_articles\_details.active =1 WHERE s\_articles\_categories.categoryID = c.id …

---

<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:** [11. Mai 2011 um 09:13 UTC](https://forum.shopware.com/t/artikelanzahl-hinter-kategoriename/2703/9 "2011-05-11T09:13:08Z")

</div>

Morgen Stefan, ich wollte gerade dein Query testen, jetzt ist mir aber aufgefallen, dass ein Artikel welcher einer Kategorie zugewiesen ist, welcher ich nun auf inaktiv gesetzt habe immer noch angezeigt wird. Woran kann das liegen? Cache habe ich mehrmals geleert.

---

<div class="post-metadata">

**Author:** ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)\
**Post date:** [11. Mai 2011 um 09:17 UTC](https://forum.shopware.com/t/artikelanzahl-hinter-kategoriename/2703/10 "2011-05-11T09:17:25Z")

</div>

Wo hast du den denn auf inaktiv gesetzt? Im Backend oder manuell in DB?

---

<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:** [11. Mai 2011 um 09:34 UTC](https://forum.shopware.com/t/artikelanzahl-hinter-kategoriename/2703/11 "2011-05-11T09:34:31Z")

</div>

[quote=„Stefan Hamann“]Wo hast du den denn auf inaktiv gesetzt? Im Backend oder manuell in DB?[/quote] Im Backend in den Stammdaten. Hab aber auch in der DB geschaut. Hier steht bei dem Datensatz active = 0

---

<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:** [11. Mai 2011 um 09:40 UTC](https://forum.shopware.com/t/artikelanzahl-hinter-kategoriename/2703/12 "2011-05-11T09:40:14Z")

</div>

Sorry, geht! Die VM macht es einem nicht einfach ☹ Nachdem ich die VM neugestartet habe, wurde der Artikel auch nicht mehr angezeigt. (Da klappt wohl das Cache löschen nicht immer). Dein SQL Query geht so also auch. Danke dir.
