getResultDataCollection() as $model) { $row = new LoopResultRow($model); $row->set('paypal_order', $model); $this->addOutputFields($row, $model); $loopResult->addRow($row); } return $loopResult; } /** * @return PaypalOrderQuery */ public function buildModelCriteria() { $query = new PaypalOrderQuery(); if (null != $id = $this->getId()) { $query->filterById($id); } $this->buildModelCriteriaOrder($query); return $query; } /** * @param PaypalOrderQuery $query */ protected function buildModelCriteriaOrder(PaypalOrderQuery $query) { foreach ($this->getOrder() as $order) { switch ($order) { case 'id': $query->orderById(); break; case 'id-reverse': $query->orderById(Criteria::DESC); break; default: break; } } } /** * @return \Thelia\Core\Template\Loop\Argument\ArgumentCollection */ protected function getArgDefinitions() { return new ArgumentCollection( Argument::createIntListTypeArgument('id'), Argument::createEnumListTypeArgument( 'order', [ 'id', 'id-reverse' ], 'id' ) ); } }