/** * Build array with countries * * @param string $key * @param string $value * @param string $sortbyField * @param string $sorting * @return array */ public function getCountries($key = 'isoCodeA3', $value = 'officialNameLocal', $sortbyField = 'isoCodeA3', $sorting = 'asc') { $countries = $this->countryRepository->findAllOrderedBy($sortbyField, $sorting); $countriesArray = []; foreach ($countries as $country) { /** @var $country \SJBR\StaticInfoTables\Domain\Model\Country */ $countriesArray[ObjectAccess::getProperty($country, $key)] = ObjectAccess::getProperty($country, $value); } return $countriesArray; }
/** * Build an country array * * @param \string $key * @param \string $value * @param \string $sortbyField * @param \string $sorting * @return \array */ public function render($key = 'isoCodeA3', $value = 'officialNameLocal', $sortbyField = 'isoCodeA3', $sorting = 'asc') { $countries = $this->countryRepository->findAllOrderedBy($sortbyField, $sorting); $countriesArray = array(); foreach ($countries as $country) { if (method_exists($country, 'get' . ucfirst($key)) && method_exists($country, 'get' . ucfirst($value))) { $countriesArray[$country->{'get' . ucfirst($key)}()] = $country->{'get' . ucfirst($value)}(); } else { $countriesArray[$country->getIsoCodeA3()] = $country->getOfficialNameLocal(); } } return $countriesArray; }
/** * Store search * * @return void */ public function storeSearchAction() { $this->view->assign('displayMode', 'storeSearch'); $this->settings['filter']['default']['radius'] = $this->getDefaultRadiusAsArray(); $this->view->assign('settings', $this->settings); if ($this->settings['filter']['showAllCountries']) { $countries = $this->countryRepository->findAllOrderedBy('officialNameEn'); } else { $countries = $this->getOnlyCountriesWhereStoresAvailable(); } $this->view->assign('countries', $countries); $this->view->assign('preSelectedCountry', $this->countryRepository->findOneByIsoCodeA2($this->region)); }