*/ class Price extends BaseLoop implements PropelSearchLoopInterface { /* set countable to false since we need to preserve keys */ protected $countable = false; /** * @return \Thelia\Core\Template\Loop\Argument\ArgumentCollection */ protected function getArgDefinitions() { return new ArgumentCollection( Argument::createIntListTypeArgument('area_id') ); } public function buildModelCriteria() { $query = DHLDeliveryPriceQuery::create(); if (null !== $areaId = $this->getAreaId()) { $query->filterByAreaId($areaId, Criteria::IN); } $query->orderByMaxWeight(); return $query; } public function parseResults(LoopResult $loopResult) { /** @var DHLDeliveryPrice $item */ foreach ($loopResult->getResultDataCollection() as $item) { $loopResultRow = new LoopResultRow($item); $loopResultRow ->set('ID', $item->getId()) ->set('MAX_WEIGHT', $item->getMaxWeight()) ->set('PRICE', $item->getPriceWithTax()) ->set('AREA_ID', $item->getAreaId()) ; $loopResult->addRow($loopResultRow); } return $loopResult; } }