使用 whmcs 6.x 的新钩子实现客户余额显示
自从 whmcs 推出 6.0 版本之后,新加入了很多的功能,其中有一项就是加入了菜单/边栏的钩子。
这样的话,我们修改起边栏变得简单很多,再也不用动用到 javascript 或者修改模板就能实现某些功能了
我们可以使用这个 ClientAreaSecondarySidebar 钩子做到很多事情。
然后因为 whmcs 6.0 最新自带的 Six 主题的客户余额提醒非常不好找,而且还要点击一下才能看到具体数值。
我们就可以先那这个来开刀。
首先我们要到 include/hooks 这个文件夹创建一个新的 php 文件。名字随意,然后输入以下内容
<?php use WHMCS\View\Menu\Item as MenuItem; if (App::getCurrentFilename() == 'clientarea' && $_SESSION['uid']) { add_hook('ClientAreaPrimarySidebar', 10, function(MenuItem $primarySidebar) { $client = getClientsDetails(); if($client) { $newMenu = $primarySidebar->addChild( 'account-info', array( 'name' => 'Home', 'label' => '账户详情', 'order' => 10, 'icon' => 'fa-balance-scale', ) ); $newMenu->addChild( 'account_balance', array( 'name' => 'account_balance', 'label' => "
当前余额: ".formatCurrency($client['credit']), 'order' => 0, ) ); } }); }
系统内部的执行顺序大概为:
- 当执行到菜单/边栏初始化时,执行我们所加入的钩子。
- 判断当前用户是不是登录
-
在主边栏后加入一个<
账户详情
>模块 -
<
账户详情
>在模块内加入<当前余额>子菜单 - 待全部初始化完毕后,模板系统输出,显示界面
最后的结果,如下图
这样就不用大费周章的到处找余额在哪里啦~~
最后一点,必须要加上判断用户是否已经登录,否则你就会发现几分钟后整个系统都会慢起来。
【声明】本文 使用 whmcs 6.x 的新钩子实现客户余额显示 为柠之漠然原创文章,转载请注明出自
枫之落叶
并保留本文有效链接:https://blog.shiniv.com/2016/05/show-banlance-in-whmcs-6-x-new-hooks/ , 转载请保留本声明!
为什么账户信息和余额显示乱码 不支持中文