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

[Решено] Метод для получения module_id


Recommended Posts

Есть ли какой-либо строенный в opencart метод для получения module_id в модуле?

 

Я поначалу думал, что он должен в массиве $setting передаваться, но, как оказалось, нет.

 

Просто хочется вывод этого модуля закешировать и module_id идеально бы для этой цели подошёл.

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


Где именно его нужно получить? В каком месте? По идее он передается в функцию index контроллера модуля посредством переменной $setting т.е. 

public function index($setting){
$module_id = $setting['module_id'];
Надіслати
Поділитися на інших сайтах

Я тоже так подумал. Оказалось, что нет. "Умные" архитекторы сделали такую вещь в catalog/model/extension/module.php

 

class ModelExtensionModule extends Model {
public function getModule($module_id) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "module WHERE module_id = '" . (int)$module_id . "'");

if ($query->row) {
return json_decode($query->row['setting'], true);
} else {
return array();
}
}
}
В итоге передаётся только содержимое setting из oc_module
Надіслати
Поділитися на інших сайтах


Так вы скажите в каком месте нужно получать module_id или гадать будем?

 

Так я в первом сообщении написал. Просто может не совсем понятно :-) . 

 

Получить module_id этого модуля во фронт-энде сайта (на витрине). В контроллере.

 

А админке, если это не новый модуль, он в гет-запросе передаётся.

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


Хотя, конечно, буквально пару строк поменять в ModelExtensionModule и module_id у нас в кармане.

 

можно так

$settings = json_decode($query->row['setting'], true);
$settings['module_id'] = $module_id;
return $settings;
Змінено користувачем freelancer
Надіслати
Поділитися на інших сайтах

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

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

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

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

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

Вхід

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

Вхід зараз

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

Important Information

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