严格标准:非静态方法 MenuHelper::getArticleByID() 不应该被静态调用

Strict standards: Non-static method MenuHelper::getArticleByID() should not be called statically in

刚开始学习 joomla,在 php 方面有点不好,我不知道如何进行非静态调用。 收到此错误:严格标准:不应在

中静态调用非静态方法 MenuHelper::getArticleByID()
<?php 

defined('_JEXEC') or die;

$base = JURI::base(true);
$menu = JFactory::getApplication()->getMenu();
$item = $menu->getMenu();

include __DIR__ . '/helper.php';

?>
<div class="container">
<div class="item support">
    <div class="content">
        <div class="title">
            <span class="name"><a href="<?php echo $item[106]->flink; ?>" class="rumble"><?php echo $item[106]->title; ?></a></span>
            <span class="icon"><img src="<?php echo $base; ?>/templates/tehnos/images/man.png" alt="" /></span>
        </div>
        <div class="text">
            <h3><?php echo MenuHelper::getArticleByID(2)->title; ?></h3>
            <?php echo MenuHelper::getArticleByID(2)->introtext; ?>
        </div>
    </div>
</div>
<div class="item center">
    <div class="content">
        <div class="title">+
            <span class="name"><a href="<?php echo $item[107]->flink; ?>" class="rumble"><?php echo $item[107]->title; ?></a></span>
            <span class="icon"><img src="<?php echo $base; ?>/templates/tehnos/images/man.png" alt="" /></span>
        </div>
        <div class="text">
            <h3><?php echo MenuHelper::getArticleByID(3)->title; ?></h3>
            <?php echo MenuHelper::getArticleByID(3)->introtext; ?>
        </div>
    </div>
</div>
<div class="item service">
    <div class="content">
        <div class="title">
            <span class="name"><a href="<?php echo $item[108]->flink; ?>" class="rumble"><?php echo $item[108]->title; ?></a></span>
            <span class="icon"><img src="<?php echo $base; ?>/templates/tehnos/images/man.png" alt="" /></span>
        </div>
        <div class="text">
            <h3><?php echo MenuHelper::getArticleByID(4)->title; ?></h3>
            <?php echo MenuHelper::getArticleByID(4)->introtext; ?>
        </div>
    </div>
</div>
<div class="item events">
    <div class="content">
        <div class="title">
            <span class="name"><a href="<?php echo $item[109]->flink; ?>" class="rumble"><?php echo $item[109]->title; ?></a></span>
            <span class="icon"><img src="<?php echo $base; ?>/templates/tehnos/images/man.png" alt="" /></span>
        </div>
        <div class="text">
            <?php echo MenuHelper::getArticleByID(5)->introtext; ?>
        </div>
    </div>
</div>
<div class="item standards">
    <div class="content">
        <div class="title">
            <span class="name"><a href="<?php echo $item[110]->flink; ?>" class="rumble"><?php echo $item[110]->title; ?></a></span>
            <span class="icon"><img src="<?php echo $base; ?>/templates/tehnos/images/man.png" alt="" /></span>
        </div>
        <div class="circle"></div>
        <div class="text">
            <?php echo MenuHelper::getArticleByID(6)->introtext; ?>
        </div>
    </div>
</div>

感谢您的宝贵时间!

嗯,错误消息已经告诉你,MenuHelper 中的方法似乎没有被定义为

public static function getArticleByID (...)
因此,您可以做的是在包含之后获取 MenuHelper 的一个实例。

$menuHelper = new MenuHelper();

然后替换

MenuHelper::getArticleByID()
在您的代码中使用
$menuHelper->getArticleByID()
。现在您应该摆脱错误消息。