1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

Вывод из базы данных Joomla 1.5

Тема в разделе "Joomla", создана пользователем Ведун, 11 май 2010.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, Genk0
  1. Ведун

    Ведун Постоялец

    Регистр.:
    21 авг 2008
    Сообщения:
    65
    Симпатии:
    33
    Здравствуйте. Видел раздел по базам, но так как вопрос конкретно по Joomla 1.5 - то пишу здесь.

    Есть плагин и модуль для джумла. Нужно их "скрестить".

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

    В принципе получилось все. Единственное, что не могу понять - это как сделать выборку из поля params.

    Есть код, который я втыкаю в плагин:

    PHP:
    <?php 
    $req 
    "select params from #__modules WHERE module='mod_random_image'";
    $db = &JFactory::getDBO();
    $db->setQuery($req);
    $result $db->loadResult();
    ?>

    <?php 
    echo $result;
     
    ?>
    Поле params содержит следующие данные:

    PHP:
    type=jpg
    folder
    =images/stories/otziv/thumbnails
    foldermax
    =images/stories/otziv
    width
    =150
    height
    =210
    moduleclass_sfx
    =
    cache=1
    cache_time
    =900
    Мне выводит данные поля params. Но выводит ВСЕ данные. А мне нужно выводить только параметр foldermax.

    В связи с этим вопрос, как правильно сформировать запрос, чтобы выводить только параметр foldermax.

    Спасибо.
     
  2. akifjev

    akifjev

    Регистр.:
    15 июл 2009
    Сообщения:
    200
    Симпатии:
    44
    Я так понял, что поле params - это одно поле в БД. Значит и извлечь его из базы лучше целиком, а потом разбирать на строки в PHP-коде (делай explode по разделителю строк - получишь массив, каждый элемент которого будет начинаться с названия параметра), или использовать регулярки для выделения параметра из строки. Можно конечно попробовать и в SQL запросе такой разбор сделать, но ИМХО это будет сложнее. :)
     
    dkraev нравится это.
  3. svetkin

    svetkin Постоялец

    Регистр.:
    12 мар 2009
    Сообщения:
    99
    Симпатии:
    15
    Попробуй что-то типа этого
    Код:
    $module =& JModuleHelper::getModule(здесь имя твоего модуля);
    $mod_params = new JParameter( $module->params );
    $param = $mod_params->get('foldermax', 0);
    
     
  4. Ведун

    Ведун Постоялец

    Регистр.:
    21 авг 2008
    Сообщения:
    65
    Симпатии:
    33
    Отлично! Не совсем пока еще разобрался, но суть понял. Ковыряюсь. Спасибо большое за совет и помощь.

    UPDATE: Сделал, используя функцию explode(). Все работает практически так как надо, но выводит значение вместе с параметром. Например если я вывожу

    PHP:
    <?php echo $foldermax?>
    то на выходе получаю значение

    PHP:
    foldermax=images/stories/otziv 
    Можно как-то отсечь foldermax=, оставив непосредственно значение - images/stories/otziv



    Пробовал. Выводит 0, т.е. не цепляет параметр. Игрался по-всякому - не идет.
     
  5. svetkin

    svetkin Постоялец

    Регистр.:
    12 мар 2009
    Сообщения:
    99
    Симпатии:
    15
    в explode в качестве разделителя используется '=' ????

    только что попробовал у себя со своими данными достает параметр правельно....

    PHP:
    $module =& JModuleHelper::getModule('mainmenu');
    $mod_params = new JParameter$module->params );
    $param $mod_params->get('menutype'0);
     
    mickle и dkraev нравится это.
  6. Ведун

    Ведун Постоялец

    Регистр.:
    21 авг 2008
    Сообщения:
    65
    Симпатии:
    33
    Ну конечно. Я указывал модуль как mod_random_image, а надо random_image в моем случае. Все прекрасно работает. Именно то что нужно. Спасибо.
     
  7. Ведун

    Ведун Постоялец

    Регистр.:
    21 авг 2008
    Сообщения:
    65
    Симпатии:
    33
    Мда... Поторопился. Вчера проверил в index.php такую конструкцию как Вы предложили - все работает. Если использовать в файле плагина, то выдает ошибку "Fatal error: Class 'JModuleHelper' not found in ... on line 11"
     
  8. svetkin

    svetkin Постоялец

    Регистр.:
    12 мар 2009
    Сообщения:
    99
    Симпатии:
    15
    Попробуй перед кодом поставить такую строчку
    Код:
    jimport('joomla.application.module.helper');
    
     
Статус темы:
Закрыта.