/** * {@inheritdoc} */ public function generateSorting(SortingInterface $sorting, QueryBuilder $query, ShopContextInterface $context) { /** @var ProductAttributeSorting $sorting */ if (!$sorting->getField()) { throw new \Exception('ProductAttributeSorting class requires a defined attribute field!'); } $query->addOrderBy('productAttribute.' . $sorting->getField(), $sorting->getDirection()); }