我们正试图修改WHMCS中的菜单,但当我们为此添加挂钩时,我们的客户端无法登录到客户端区域。请告诉我我们做错了什么。
这是我们的挂钩代码
<?php
use WHMCS'View'Menu'Item as MenuItem;
add_hook('ClientAreaNavbars', 1, function ()
{
$primaryNavbar = Menu::primaryNavbar();
$primaryNavbar->removeChild('Contact Us');
$primaryNavbar->removeChild('Network Status');
$primaryNavbar->removeChild('Live-Help-Button');
$primaryNavbar->addChild('Free Shortcut')
->setUri('/cart.php?a=add&pid=2')
->setOrder(70);
// Moves a menu item to the last position
$primaryNavbar->getChild('Affiliates')->moveToBack();
});
测试您的代码并给出以下错误:
PHP致命错误:在my_hoos.PHP 中对null的成员函数moveToBack()进行调用
可能Affiliates系统被禁用,菜单项不在那里,$primaryNavbar->getChild("Affiliations")返回一个空值。
要修复它,请替换:
$primaryNavbar->getChild('Affiliates')->moveToBack();
带有:
$item = $primaryNavbar->getChild('Affiliates');
if ($item instanceof MenuItem) {
$item->moveToBack();
}