Реализовал рабочий (в первом приближении

) вариант.
1. Открываем "Типовую динамическую страницу"
Интернет-магазин.
2. Открываем вкладку Код страницы.
3. После строки (у меня это 62 строка)
$Shop_Controller_Show->addCacheSignature('sorting=' . $sorting);
вставляем код:
// фильтр по наличию скидки
if(intval(Core_Array::getGet('filter')) && intval(Core_Array::getGet('is_sale'))) {
$current_date = date('Y-m-d H:i:s');
$Shop_Controller_Show->shopItems()
->queryBuilder()
->join('shop_item_discounts', 'shop_items.id', '=', 'shop_item_discounts.shop_item_id')
->join('shop_discounts', 'shop_item_discounts.shop_discount_id', '=', 'shop_discounts.id', array(
array('AND (' => array('shop_discounts.end_datetime', '>=', $current_date)),
array('OR' => array('shop_discounts.end_datetime', '=', '0000-00-00 00:00:00')),
array('AND' => array('shop_discounts.start_datetime', '<=', $current_date)),
array(')' => NULL)
));
}
Для вывода товаров со скидкой в url пишем: <домен_магазина>/<каталог_магазина>/?filter=1&is_sale=1