Joomla插件,用于显示数据库中的数据

时间:2014-11-10 06:10:08

标签: php joomla

HY,

我正在尝试为joomla创建一个插件,以便在文章中显示来自数据库的数据。 问题是当从数据库打印数据时没有显示数据在哪里是标签({myplugintag}),现在显示文章标题上方的数据。

我在文章中放了一个标签来获取数据

{myplugintag}游戏ID {/ 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;} 
    }
}

提前致谢

1 个答案:

答案 0 :(得分:0)

而不是打印结果,只返回结果。

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

} 
return $playerid;   

原因是当您打印在组件输出之前打印的数据时。