getResultDataCollection() as $places) { $loopResultRow = new LoopResultRow($places); $schedule = PdrScheduleQuery::create() ->filterByIdPlace($places->getId()) ->orderByDay(); $deliveryDays = ""; foreach ($schedule as $day) { $deliveryDays .= PointRetrait::getDayLabel($day->getDay()) . ', '; } $deliveryDays = substr($deliveryDays, 0, strlen($deliveryDays)-2); $loopResultRow ->set("ID", $places->getId()) ->set("TITLE", $places->getTitle()) ->set("ACTIVE", $places->getActive()) ->set("PRICE", $places->getPrice()) ->set("MINIMUM_AMOUNT", $places->getMinimumAmount()) ->set("DELIVERY_DAYS", $deliveryDays) ->set("LATITUDE", $places->getLatitude()) ->set("LONGITUDE", $places->getLongitude()) ->set("ADDRESS1", $places->getAddress1()) ->set("ADDRESS2", $places->getAddress2()) ->set("ZIPCODE", $places->getZipcode()) ->set("CITY", $places->getCity()) ->set("ACCESS_COMMENT", $places->getAccessComment()) ->set("MODULE_ID", PointRetrait::getModuleId()) ; $loopResult->addRow($loopResultRow); } return $loopResult; } /** * @inheritdoc */ protected function getArgDefinitions() { return new ArgumentCollection( Argument::createIntListTypeArgument('id'), Argument::createIntListTypeArgument('active'), Argument::createEnumListTypeArgument('order', ['city', 'title'], 'title') ); } /** * @inheritdoc */ public function buildModelCriteria() { $places = PdrPlacesQuery::create(); /* Filtrage éventuel */ if (null != $id = $this->getId()) { $places->filterById($id); } if (null != $active = $this->getActive()) { $places->filterByActive($active); } foreach ($this->getOrder() as $order) { switch ($order) { case 'title': $places->orderByTitle(); break; case 'city': $places->orderByZipcode()->orderByCity()->orderByAddress1(); break; } } return $places; } }