Здравствуйте. С Новым годом.
Пытаюсь понять, как правильно заполнить seo url при установке модуля. Примеров хороших не нашел. Делаю так. В контроллере модуля создаю метод install
public function install() {
$this->load->model('extension/module/promo');
$this->load->model('setting/store');
$data['stores'] = array(0);
$stores = $this->model_setting_store->getStores();
foreach ($stores as $store) {
array_push($data['stores'], $store['store_id']);
}
$this->load->model('localisation/language');
$data['languages'] = array();
$languages = $this->model_localisation_language->getLanguages();
foreach ($languages as $language) {
array_push($data['languages'], $language['language_id']);
}
$this->model_extension_module_promo->install($data);
}
Я просто беру и собираю магазины и языки в один массив. При этом для дефолтного магазина руками 0 приходится добавлять.
И в модели в метод install добавляю
$this->db->query("DELETE FROM " . DB_PREFIX . "seo_url WHERE query = 'information/promo'");
foreach ($data['stores'] as $store_id) {
foreach ($data['languages'] as $language_id) {
$this->db->query("INSERT INTO " . DB_PREFIX . "seo_url SET store_id = '" . $store_id . "', language_id = '" . $language_id . "', query = 'information/promo', keyword = 'promo'");
}
}
Подскажите правильность решения и если есть правки, поделитесь.