Joomla 1.5 Как получить параметры одного модуля из другого? (взаимодействие модулей)

Тема в разделе "Программирование", создана пользователем NewArt, 06.09.2009.

  1. Offline

    NewArt Недавно здесь

    Регистрация:
    06.09.2009
    Сообщения:
    4
    Симпатии:
    0
    Привет!

    Если ты читаешь этот текст то наверно как минимум интересно зачем Subj может понадобится?

    Отвечу на этот вопрос - хочется написать модуль который работает учитывая наличие и параметры
    другого модуля.
    С "наличием" модуля вопросов нет - JModuleHelper::isEnabled('имя_модуля_БЕЗ_префикса_MOD_') - все решает.

    А вот получить параметры другого модуля - никаких стандартных (в терминах Jooml'ы) средств не нашел!

    Да и вообще не понятно - откуда в каждом модуле берется переменная $params?
    Где и как происходит инициализация этой переменной?

    может кто-то в курсе ... где посмотреть? B)
     
    Последнее редактирование: 07.09.2009
  2.  
  3. Tureckiy
    Offline

    Tureckiy специалист

    Регистрация:
    11.04.2009
    Сообщения:
    423
    Симпатии:
    30
    Пол:
    Мужской
    Где точно в коде не скажу-это смотреть надо а берется из базы с таблицы #_modules, колонки "params". А записывается все туда фреймворком Джумлы при создании "моделя" (в списке модулей - Создать) данными из XML файла, который находится там же где и файлы, инфой из разделов params. B) В той же таблицы хранится и другая инфа о модуле (позицыя, доступ, публикация...). Вот этим запросом и пробовать дергать двнные из этой таблицы - не это так чтосразу в голову приходит, может конечно и другие, более гуманные решения есть! :)
     
  4. Offline

    NewArt Недавно здесь

    Регистрация:
    06.09.2009
    Сообщения:
    4
    Симпатии:
    0
    прийдется ответить тут на свой вопрос самому...
    решение вопроса - три строчки кода, который можно записать в любом модуле
    уместно, пожалуй, сразу привести пример

    --------------------------------------------------------------------------------------------------
    $m=& JModuleHelper::getModule('breadcrumbs');
    $m_params = new JParameter($m->params);
    echo $m_params->get('separator');
    --------------------------------------------------------------------------------------------------

    тут мы получаем объект описывающий модуль "breadcrumbs" - получаем как оказывается вместе с параметрами (в виде строки)
    и превратив свойство объекта "params" в объект с помощью вызова "JParameter"
    имеем метод "get" для получения значения каждого параметра по его имени....
    %)
     

Поделиться этой страницей

Загрузка...