Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Muvka

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'");
  }
}

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

Надіслати
Поділитися на інших сайтах


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

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

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

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

 

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

keyword = 'promo'

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

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

Надіслати
Поділитися на інших сайтах

47 минут назад, AlexDW сказал:

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

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

 

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

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

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

Змінено користувачем Muvka
Надіслати
Поділитися на інших сайтах


  • 3 months later...

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

foreach

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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.