【问题标题】:Joomla plugin for dispay data from database用于显示来自数据库的数据的 Joomla 插件
【发布时间】:2014-11-10 06:10:08
【问题描述】:

喂,

我正在尝试为 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;} 
    }
}

提前致谢

【问题讨论】:

    标签: php joomla


    【解决方案1】:

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

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

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

    【讨论】:

    • 工作:) 谢谢sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss的工作:)作品:)工作:)的作品:)
    • @IvanF:很高兴知道。您也可以接受这个作为答案。:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    • 2023-03-22
    • 1970-01-01
    • 2013-06-06
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多