Как вывести переменные из запроса в плагине в шаблон?

 
Посетитель
small user social cms
Медаль
Сообщений: 427
Пересмотрел несколько плагинов, все никак не дошло мне, как же вывести переменные из запроса в плагине.
К примеру, запрос с того же форума:
Код PHP:
  1.  
  2. $sql = "SELECT p.pubdate, p.id, p.content_html,
  3. u.nickname as author_nickname,
  4. u.login as author_login,
  5. t.title as thread_title, t.id as thread_id, t.post_count
  6. FROM cms_forum_posts p
  7. INNER JOIN cms_forum_threads t ON t.id = p.thread_id
  8. INNER JOIN cms_forums f ON f.id = t.forum_id AND f.NSLeft >= '{$left_key}' AND f.NSRight <= '{$right_key}'
  9. LEFT JOIN cms_users u ON u.id = p.user_id
  10. ORDER BY p.pubdate DESC
  11. LIMIT 1";
  12.  
  13. $result = $this->inDB->query($sql) ;
  14. if (!$this->inDB->num_rows($result)){ return array(); }
  15.  
и применить эти данные на какой-то другой странице - скажем в блогах. В итоге в блоги вношу переменные - а фигусь, ничего не выводит. С помощью

Код PHP:
  1. foreach($items as $i=>$item){
  2. $items[$i]['content'] .= '..............';
  3. print_r($comment);
  4. }
  5. return $items;
(в файле плагина если прописать) выводятся точки в нужном месте, как и должно быть.
С ивентами разобрался, с выводом какой-то инфы в нужном мне месте - так же. Осталось как-то понять, как работать с выбранными данными из БД, т.е., передача в шаблон.

По сути, как я понимаю, надо как-то еще дополнительно обработать переменную $result, дабы в шаблон попала каждая переменная отдельно из запроса. Но как?)

Спойлер
Заранее благодарю за помощь.
Раскрути группу ВК сам на легке или заработай на этом
Недорогой и надежный хостинг Промокод 20% скидка - 841de7-20
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проекта
Сообщений: 1282
scanread, а причем тут $result и $items разные переменные.

Начнем с того, куда ты запихал(в какой файл) запрос? и я не вижу чтоб у тебя было присвоение к перменных что используются в темплейтах.
Фриланс по Intantcms 1 и 2 версий.Писать в ЛС. Отзывы заказчиков
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1949
scanread, вся проблема в том, что вы не понимаете, как работает плагин. А работает он так:
1. В фронтэнде компонента стоит точка вызова или ловушка (синонимы - хук, эвент, событие) которая через ядро вызывает плагин. Если ловушка стоит, а плагина нет, ничего страшного, плагин просто не вызывается.
2. Плагин получает $item из точки своего вызова, делает с этими данными то, что должен делать и возвращает обратно.
3. Точка вызова прописывает данные, которые вернул плагин вместо той переменной, с которой вызывала плагин:
Код PHP:
  1. $item = cmsCore::callEvent('SET_HOOK', $item);
Передача в шаблон. Фронтэнд формирует переменную, например, $a=3.14. Затем в шаблон нужно передать имя и значение переменной:
Код PHP:
  1. cmsPage::initTemplate('components', 'com_club_users_config')->
  2. assign('a', $a)->
  3. display('com_club_users_config.tpl');
И в шаблоне пишем {$a}
Выведет 3.14
NOP
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.