Hallo,
wie finde ich die Anzahl der Artikel (aktive) in einer Kategorie heraus?
Das muss ja irgendwas in der Richtung sein:
{$sCategories.childrenCount}
Hallo,
wie finde ich die Anzahl der Artikel (aktive) in einer Kategorie heraus?
Das muss ja irgendwas in der Richtung sein:
{$sCategories.childrenCount}
push it >>>>>>>> interessiert mich auch sehr
Wir haben dafür ein Smarty Plugin in THEME/_private/smarty erstellt:
<?php
function smarty_modifier_getCategoryArticleCount($value, $format = array()) {
$id = (int)$value;
if ($id != 0) {
$parameters = [
'categoryId' => $id,
'customerGroupId' => Shopware()->Shop()->getCustomerGroup()->getId()
];
$articleCount = Shopware()->Models()->getConnection()->fetchColumn("
SELECT COUNT(DISTINCT s0_.id)
FROM s_articles s0_
INNER JOIN s_articles_categories_ro s2_ ON s0_.id = s2_.articleID
INNER JOIN s_categories s1_ ON s1_.id = s2_.categoryID AND (s1_.active = 1 AND s1_.id = :categoryId)
LEFT JOIN s_articles_avoid_customergroups s4_ ON s0_.id = s4_.articleID AND (s4_.customergroupID = :customerGroupId)
WHERE s0_.active = 1
GROUP BY s4_.customergroupID, s1_.id
HAVING COUNT(s4_.customergroupID) = 0
", $parameters);
} else {
$articleCount = NULL;
}
return $articleCount;
}
Nice. Denke es wäre noch gut zu ergänzen, wie man den Smarty-Modifier dann in einer tpl anspricht.
LG Phil
Nutzung durch Übergabe der Kategorie ID (im Beispiel $catId):
$catId|getCategoryArticleCount