Jump to content
Sign in to follow this  
Muvka

Правильное заполнение seo url при установке модуля

Recommended Posts

Здравствуйте. С Новым годом.

Пытаюсь понять, как правильно заполнить 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'");
  }
}

Подскажите правильность решения и если есть правки, поделитесь.

Share this post


Link to post
Share on other sites
17 часов назад, Muvka сказал:

$this->db->query("DELETE FROM " . DB_PREFIX . "seo_url WHERE query = 'information/promo'");

при таком подходе при переустановке/обновлении модуля ранее заполненные данные будут удалены

за что его пользователи явно не скажут спасибо

 

17 часов назад, Muvka сказал:

keyword = 'promo'

здесь вообще непонятно - зачем заполнять одним и тем же значением?

тем более что в рамках одного магазина keyword (для одного или разных языков) должен быть уникальным

Share this post


Link to post
Share on other sites
Posted (edited)
47 минут назад, AlexDW сказал:

при таком подходе при переустановке/обновлении модуля ранее заполненные данные будут удалены

за что его пользователи явно не скажут спасибо

 

здесь вообще непонятно - зачем заполнять одним и тем же значением?

тем более что в рамках одного магазина keyword (для одного или разных языков) должен быть уникальным

Если честно, не очень вас понял. Удаление делаю, чтобы не было дубля. После удаления сразу идет повторное заполнение. Пользователи этого даже не заметят. А по поводу keyword вообще не понял. Это то, что будет адресом устанавливаемой страницы. Что не так?

Edited by Muvka

Share this post


Link to post
Share on other sites

Если вставляется только одно правило то зачем цикл 

foreach

???? Делайте вставку по одному правилу без цикла. Если в цикле будет больше одного значения, к примеру 3, то у вас будет три одинаковые вставки. Или вы не в курсе что такое цикл???

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.