load->model('localisation/zone'); $country_id = $this->config->get('config_country_id'); $zones = $this->model_localisation_zone->getZonesByCountryId($country_id); $current_zone_id = isset($this->session->data['city_id']) ? (int)$this->session->data['city_id'] : (int)$this->config->get('config_zone_id'); $data['zones'] = array(); foreach ($zones as $zone) { $data['zones'][] = array( 'zone_id' => $zone['zone_id'], 'name' => $zone['name'], 'active' => ($zone['zone_id'] == $current_zone_id), ); } $data['action'] = $this->url->link('common/city/save', '', true); $this->response->setOutput($this->load->view('common/city_list', $data)); } public function save() { $json = array(); if (isset($this->request->post['city_id'])) { $this->load->model('localisation/zone'); $zone = $this->model_localisation_zone->getZone((int)$this->request->post['city_id']); if (!$zone || (int)$zone['country_id'] !== (int)$this->config->get('config_country_id')) { $json['success'] = false; $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); return; } $this->session->data['city_id'] = (int)$zone['zone_id']; $json['success'] = true; $json['name'] = $zone['name']; $json['redirect'] = $this->model_localisation_zone->getZoneUrl($zone['zone_id'], isset($this->request->post['redirect']) ? $this->request->post['redirect'] : $this->url->link('common/home')); } else { $json['success'] = false; } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } }