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

Настройки модуля в myfunction


Recommended Posts

Всем привет!

Контроллер фронта. Модуль, настройки которого хранятся в таблице module

<?php
class ControllerExtensionModuleMymodule extends Controller {
  public function index($setting) {
    // тут настройки модуля из админки 
  }
  
  public function Myfunction() {
    $json = array();
    
    
    // вот здесь можно получить настройки из админки?
    
    
    $this->response->addHeader('Content-Type: application/json');
    $this->response->setOutput(json_encode($json));
  }
}

 

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

6 часов назад, klaos27 сказал:

// вот здесь можно получить настройки из админки?

нужен id модуля

$this->load->model('extension/module');

$setting = $this->model_extension_module->getModule($this->request->{get,post}['module_id']);

 

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

5 часов назад, nikifalex сказал:

так настройки чего именно? какого модуля? там же $setting а значит модулей несколько у каждого свои настройки.

Не важно какого. Да могут быть свои настройки.

Не получится?

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

2 минуты назад, nikifalex сказал:

до тех пор пока вы точно не решите как надо. не получится.


Это программирование, а не философия. Тут казуистика "неважно"  не срабатывает.

Да любой модуль возьмем, будь то HTML Содержимое, или Рекомендуемые, или Хиты, или Баннеры, или Слайдшоу.

Не понимаю почему это должно быть важно. Важно то, что все они сидят в таблице module.

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

7 часов назад, nikifalex сказал:

вы не поняли. 

каждого из них может быть много. А контроллер у них общий. нужный как раз задается через $setting

Про это я знаю.

 

7 часов назад, nikifalex сказал:

Чтоб получить настройки, надо выбрать настроки чего именно, какого экземпляра модуля нужны.

для каждого экземпляра свои.

 

Я так понимаю нужен id модуля как написал @ibond

Но в OC2 без вмешательства в движок невозможно получить id модуля. Или я не прав?

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

31 минуту назад, klaos27 сказал:

Я так понимаю нужен id модуля как написал @ibond

Но в OC2 без вмешательства в движок невозможно получить id модуля. Или я не прав?

Да, правы. Во всяком случае, не находил других способов без вмешательства. Один из вариантов, например, так:

	<file path="catalog/model/extension/module.php">
        <operation>
            <search><![CDATA[
                if ($query->row) {
            ]]></search>
            <add position="after"><![CDATA[
                if (isset($query->row['code']) && $query->row['code'] == 'ВАШ_CODE')  {
                    $query->row['setting'] = preg_replace('/}$/', ',"module_id":"' . (int)$module_id . '"}', $query->row['setting']);
                }
			]]></add>
        </operation>
    </file>

и уже отдавать его из index($setting) в ajax и т.д.

 

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

9 минут назад, ibond сказал:

Да, правы. Во всяком случае, не находил других способов без вмешательства. Один из вариантов, например, так:


	<file path="catalog/model/extension/module.php">
        <operation>
            <search><![CDATA[
                if ($query->row) {
            ]]></search>
            <add position="after"><![CDATA[
                if (isset($query->row['code']) && $query->row['code'] == 'ВАШ_CODE')  {
                    $query->row['setting'] = preg_replace('/}$/', ',"module_id":"' . (int)$module_id . '"}', $query->row['setting']);
                }
			]]></add>
        </operation>
    </file>

и уже отдавать его из index($setting) в ajax и т.д.

 

Благодарю. Но не то. Ни при каких обстоятельствах в оригинал лезть не хотелось. Ну по крайней мере из-за такого)

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

По архитектуре - довольно странное желание.

MyFunction может вызываться откуда угодно. Например по ajax запросу.

В данном случае нет нуного контекста при вызове данной функции.

 

Вызов index происходит при переборе модулей и там есть конкретный контекст по id модуля. Что позволяет связать конкретный вызов с конкретными настройками.

 

Что бы MyFunction имела тот же контекст по конфигу, надо её вызывать только из функуии index.

Но если вызов идёт только отттуда, то настройки можно передать как параметр.

 

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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