diff --git a/core/lib/Thelia/Core/Template/Loop/Brand.php b/core/lib/Thelia/Core/Template/Loop/Brand.php index c5fab67af..c177a7297 100644 --- a/core/lib/Thelia/Core/Template/Loop/Brand.php +++ b/core/lib/Thelia/Core/Template/Loop/Brand.php @@ -21,6 +21,7 @@ use Thelia\Core\Template\Element\SearchLoopInterface; use Thelia\Core\Template\Loop\Argument\Argument; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Model\BrandQuery; +use Thelia\Model\ProductQuery; use Thelia\Type\BooleanOrBothType; use Thelia\Type; use Thelia\Type\TypeCollection; @@ -45,6 +46,7 @@ class Brand extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLoo { return new ArgumentCollection( Argument::createIntListTypeArgument('id'), + Argument::createIntTypeArgument('product'), Argument::createBooleanOrBothTypeArgument('visible', 1), Argument::createAnyTypeArgument('title'), new Argument( @@ -103,6 +105,12 @@ class Brand extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLoo $search->filterById($id, Criteria::IN); } + $product = $this->getProduct(); + + if (!is_null($product) && null !== $productObj = ProductQuery::create()->findPk($product)) { + $search->filterByProduct($productObj); + } + $visible = $this->getVisible(); if ($visible !== BooleanOrBothType::ANY) $search->filterByVisible($visible ? 1 : 0);