• 云途科技成立于2010年 - 专注全球跨境电商服务器租赁托管!
  • 帮助中心

    您可以通过下方搜索框快速查找您想知道的问题

    Whmcs 7.x 使用钩子实现客户余额显示

      in  建站知识      Tags: 

    目前使用whmcs7.0,由于客户充值量较大,用户前台无法显示用户余额。是个很麻烦的问题;

      在whmcs 摸索了下,发现 whmcs 6.x 往后版本加入了菜单/边栏的钩子

    这样的话,我们修改起边栏变得简单很多,再也不用动用到 javascript 或者修改模板就能实现某些功能了

    我们可以使用这个  ClientAreaSecondarySidebar 钩子做到很多事情。

    然后因为 whmcs 7.0 最新自带的 Six 主题的客户余额提醒非常不好找,而且还要点击一下才能看到具体数值。

    我们就可以先那这个来开刀。

    首先我们要到 include/hooks 这个文件夹创建一个新的 php 文件。名字随意,然后输入以下内容


    <?phpuse 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,
    				)
    			);
    		}
    	});}


    系统内部的执行顺序流程:

    • 当执行到菜单/边栏初始化时,执行我们所加入的钩子。

    • 判断当前用户是不是登录

    • 在主边栏后加入一个<账户详情>模块 

    • <账户详情>在模块内加入<当前余额>子菜单

    • 待全部初始化完毕后,模板系统输出,显示界面

    最后的结果,如下图

    这样就不用大费周章的到处找余额在哪里啦~~

    最后一点,必须要加上判断用户是否已经登录,否则你就会发现几分钟后整个系统都会慢起来。


    • 外贸虚拟主机

      1GB硬盘

      2个独立站点

      1000M带宽

      不限制流量

      美国外贸专用虚拟主机,cPanel面板,每天远程备份.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥180/年

    • 美国/荷兰外贸VPS

      2核CPU

      1G内存

      30硬盘

      10M带宽

      美国/荷兰外贸云服务器,专注外贸服务器行业12年.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥99/月

    • 全球外贸服务器

      8核CPU

      32G内存

      1TB硬盘

      1000M带宽

      已部署数据中心:美国洛杉矶/亚特兰大、荷兰、加拿大、英国伦敦、德国、拉脱维亚、瑞典、爱沙尼亚
      自有机柜(全球九大数据中心),稳定在线率:99.9%

      ¥999/月 原价1380

    7*24小时 在线提交工单

    如果您的问题没有得到解决,推荐您在线提交工单,我们的客服人员会第一时间为您解决问题

    展开