Плагин Joomla для отображения данных из базы данных

0

Hy,

Я пытаюсь сделать плагин для joomla для отображения данных из базы данных в статье. Проблема в том, что когда данные печатаются из базы данных, не отображаются данные, где находится тег ({myplugintag}), теперь отображаются данные над заголовком статьи.

Я помещаю тег внутри статьи, чтобы получить данные

{} Myplugintag GameID {/myplugintag}

<?php


defined( '_JEXEC' ) or die( 'Restricted access' );
jimport( 'joomla.plugin.plugin' );



class plgContentNamePlugin extends JPlugin
{
function PluginNamePlugin( &$subject )
{
    parent::__construct( $subject );
}
function onContentPrepare( $context, &$article, $page = 0)
    {
    global $mainframe;
    if ( JString::strpos( $article->text, '{myplugintag}' ) === false ) {
    return true;
    }
    $article->text = preg_replace_callback('|{myplugintag}(.*){\/myplugintag}|m',function($m) {           return $this->getResults($m[1]); }, $article->text);
    return true;
}

function getResults($gameID)
{
    $db = JFactory::getDBO();
    $query = $db->getQuery(true);
    $query->select('*')
    ->from('#__component_table')
    ->where($db->quoteName('gameid') . ' = '. $db->quote($gameID));
    $db->setQuery($query);    
    $result = $db->loadObjectList();
    foreach ($result as $var){$playerid=$var->playerid;
    print $playerid;} 
    }
}

заранее спасибо

Теги:
joomla

1 ответ

0
Лучший ответ

Вместо того, чтобы печатать результат, вы просто возвращаете результат.

$playerid = '';
foreach ($result as $var){
        $playerid .= $var->playerid;

} 
return $playerid;   

Причина заключается в том, что вы печатаете данные, которые он печатает перед выходом компонента.

  • 0
    Работает :) Спасибоссссссссссссс!
  • 0
    @IvanF: Полезно знать. Вы также можете принять это как ответ. :)
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню