【问题标题】:Display Dedicated IP into clientareainvoices.tpl list in WHMCS?在 WHMCS 的 clientareainvoices.tpl 列表中显示专用 IP?
【发布时间】:2023-03-04 04:34:02
【问题描述】:

我正在使用 WHMCS 8.x 并且 Smarty PHP 已经启用。

我希望用一些代码或钩子函数让专用ip主机名显示在页面clientareainvoices.tpl(/clientarea.php?action=invoices) 列表。 我希望任何人都可以帮助我。 非常感谢。

我已经搜索了很多计划,但都没有工作。不知道能不能用 hook 来实现。

希望有天才能帮我解决这个问题。

图中这样的功能。

enter image description here 谢谢谢谢。

我尝试使用挂钩文件来执行此操作。并尝试使用左连接连接数据库表。像 : 文件是这样的:

select * from tblinvoices t1 
left join tblinvoiceitems t2 on t1.id=t2.invoiceid
left join tblhosting t3 on t2.relid=t3.id
WHERE t3.dedicatedIP = value

然后我将它添加到钩子文件中。

<?php

if (!defined("WHMCS")) {
    die("This file cannot be accessed directly");
}

use WHMCS\Database\Capsule as DB;

add_hook('ClientAreaPageInvoices', 1, function($vars) {
    
    $invoices = DB::table('tblinvoices')->where('invoicenum', $vars['invoicenum'])->get();

        $fieldId = 'invoicenum';
        $csVals = [];
        foreach ($invoices as $invoice) {
            $fieldVal = '';
            $data = DB::table('tblinvoices AS t1')
            ->leftJoin('tblinvoiceitems AS t2', 't1.invoicenum', '=', 't2.invoiceid')
            ->leftJoin('tblhosting AS t3', 't2.relid', '=', 't3.id')
            ->select('t3.domain')
            ->where('t1.invoicenum', $fieldId)->where('t3.domain', $invoice['invoicenum'])
            ->first();
            if (!is_null($data)) {
                $fieldVal = $data->value;
            }
            $csVals[$invoice['invoicenum']] = $fieldVal;
        }
        return ['domain' => $csVals];

});

但所有这些都不起作用。它显示了一个结果“数组”,希望任何人都可以帮助我。在此先感谢。

【问题讨论】:

  • 我知道我应该创建一个挂钩来将变量传递给 .tpl 并调整表格代码以呈现它,但我只是不知道该怎么做。希望任何人都可以提供帮助。

标签: hook invoice whmcs


【解决方案1】:

首先您不需要再次查询发票,因为发票在$vars['invoices'] 变量中可用。

$invoices = $vars['invoices'];

代码应该可以工作,您只需在活动模板中编辑文件clientareainvoices.tpl 并替换:

&lt;td&gt;{$invoice.invoicenum}&lt;/td&gt;

&lt;td&gt;{$invoice.invoicenum} - {$domain[$invoice.invoicenum]}&lt;/td&gt;

【讨论】:

  • 感谢您的回复,Wesamly。我已经解决了这个问题。这段代码的问题是$data->value应该是域表名.thanks.
  • @Ref 很高兴你解决了你的问题,欢迎 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多