Добавить в корзину несколько различных товаров

Однажды потребовалось добавлять в корзину сразу несколько различных товаров. Например, по акции продаются хомячок пушистый, хомячок голодный и хомячок безродный. Одной кнопкой отправить в корзину всех трех.

Специфические для конкретной реализации методы проверки наличия товаров в акции я опускаю, а вот как можно положить в корзину несколько товаров:

1) установить режим, при котором после добавления товара в корзину методом basket не происходит редиректа $_REQUEST['no-redirect'] = 1

2) В цикле положить все товары

3) Редирект куда нужно.

public function buynow(){
 $id = getRequest('param0');
 $referer = getServer('HTTP_REFERER');
 $_REQUEST['no-redirect'] = 1;
 if($id) { 
	 $oCatalog =  cmsController::getInstance()->getModule('catalog');
	 $oMarket =  cmsController::getInstance()->getModule('emarket');

	  //проверить, что мы в акциях 
	 if($oCatalog  -> isThisAction($id)){//да, это акции. Кастомный метод
	 //получить  товары в акции 
		 $els = $oCatalog->inAction($id); //Кастомный метод
		 foreach($els as $item){
			 $oMarket->basket('put','element',$item->id);
		 }
	 }
	 else  {//положить в корзину текущий товар и перейти в корзину
		 $oMarket->basket('put','element',$id, 1);
	 }
	 $referer =  '/cart/';//Страница с корзиной
 }
 $this->redirect($referer);
}