/** * Define calculated price definition DQL * * @param \XLite\Model\QueryBuilder\AQueryBuilder $queryBuilder Query builder * @param string $alias Main alias * * @return string */ protected function defineCalculatedPriceDQL(\XLite\Model\QueryBuilder\AQueryBuilder $queryBuilder, $alias) { $dql = parent::defineCalculatedPriceDQL($queryBuilder, $alias); $queryBuilder->SetParameter('saleDiscountTypePercent', \XLite\Model\Product::SALE_DISCOUNT_TYPE_PERCENT); return 'IF(' . $alias . '.participateSale = 1,' . ' IF(' . $alias . '.discountType = :saleDiscountTypePercent,' . ' ' . $dql . ' * (1 - ' . $alias . '.salePriceValue / 100),' . ' ' . $alias . '.salePriceValue' . '),' . ' ' . $dql . ')'; }