直到8.4.1版本,我才能够在钩子文件夹中使用这段代码。
<?php
use WHMCS\View\Menu\Item as MenuItem;
add_hook('ClientAreaPrimarySidebar', 1, function(MenuItem $primarySidebar)
{
$service = Menu::context('service');
$domain = $service->domain;
$servertype = $service->product->servertype;
# Not cPanel, no links added
if ($servertype!="cpanel"){
return;
}
if (!is_null($primarySidebar->getChild('Service Details Actions'))) {
$primarySidebar->getChild('Service Details Actions')
->getChild('Login to cPanel')
->setUri('http://'.$domain.'/cpanel');
$primarySidebar->getChild('Service Details Actions')
->getChild('Login to Webmail')
->setUri('http://'.$domain.'/webmail');
}
});在8.5.1版本中,它停止工作。
说这句话:
/home/.../.../includes/hooks/cpanel_login.php:20堆栈跟踪中的
错误:对null调用成员函数setUri():
#0 /home/..../..../vendor/whmcs/whmcs-foundation/lib/Hook/Manager.php(0):WHMCS\Utility\SafeInclude::{closure}(Object(WHMCS\View\Menu\Item))
#1 /home/..../..../vendor/illuminate/support/Facades/Facade.php(261):WHMCS\Hook\Manager->运行(‘ClientAreaPrima.’,Array,true)
#2 /home/././includes/Functions.php(0):Illuminate\Support\Facades\Facade::__callStatic('run',数组)
#3 /home/..../..../vendor/whmcs/whmcs-foundation/lib/ClientArea.php(0):run_hook(‘ClientAreaPrima.’,Array,true)
#4 /home/..../..../vendor/whmcs/whmcs-foundation/lib/ClientArea.php(0):WHMCS\ClientArea->outputWithoutExit()
#5 /home/..../..../vendor/whmcs/whmcs-foundation/lib/Http/Message/AbstractViewableResponse.php(0):
WHMCS\ClientArea>getOutputContent()
#6 /home/..../..../vendor/laminas/laminas-httphandlerrunner/src/Emitter/SapiEmitter.php(41):
WHMCS\Http\Message\AbstractViewableResponse->getBody()
#7 /home/..../..../vendor/laminas/laminas-httphandlerrunner/src/Emitter/SapiEmitter.php(31):Laminas\HttpHandlerRunner\Emitter\SapiEmitter->emitBody(Object(WHMCS\ClientArea))
#8 /home/././clientarea.php(0):Laminas\HttpHandlerRunner\Emitter\SapiEmitter->emit(Object(WHMCS\ClientArea))
#9 {main}
有人知道如何解决这个问题吗?
发布于 2022-10-13 16:47:45
您正在尝试在null上使用null。
您只需要检查是否有一个名为"Service操作“的侧栏元素--但是如果”服务细节操作“、”登录到cPanel“或”登录到Webmail“不存在,则尝试为不存在的侧栏子元素设置uri。
这很可能与WHMCS改变8.4.1:https://docs.whmcs.com/Changelog:WHMCS_V8.4#Maintenance_4中菜单项的工作方式有关。
核心-17437-防止与菜单项相关的声明错误,也称为: CORE-17436
新的名称是"cpanel“和"webmail”,而不是“登录到cPanel”和“登录到Webmail”。为了避免引发异常,您应该检查菜单项是否存在。
https://stackoverflow.com/questions/72871973
复制相似问题