首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cPanel帐号登录- WHMCS

cPanel帐号登录- WHMCS
EN

Stack Overflow用户
提问于 2022-07-05 15:28:04
回答 1查看 101关注 0票数 1

直到8.4.1版本,我才能够在钩子文件夹中使用这段代码。

代码语言:javascript
复制
<?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}

有人知道如何解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 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”。为了避免引发异常,您应该检查菜单项是否存在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72871973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档