HY,
我正在尝试为joomla创建一个插件,以便在文章中显示来自数据库的数据。 问题是当从数据库打印数据时没有显示数据在哪里是标签({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;}
}
}
提前致谢
答案 0 :(得分:0)
而不是打印结果,只返回结果。
$playerid = '';
foreach ($result as $var){
$playerid .= $var->playerid;
}
return $playerid;
原因是当您打印在组件输出之前打印的数据时。