我正在做一个WHMCS的自定义页面,但却出现了错误。我想从一个表格中显示数据--我使用客户的表格作为参考。如果能得到帮助,我将感激不尽。
如果我删除了tpl代码中的table部分,其他部分就能正确显示。
使用的代码如下:
currentmembers.php
<?php
use WHMCS\ClientArea;
use WHMCS\Database\Capsule;
define('CLIENTAREA', true);
require __DIR__ . '/init.php';
$ca = new ClientArea();
$ca->setPageTitle('Bank Statement');
$ca->addToBreadCrumb('index.php', Lang::trans('globalsystemname'));
$ca->addToBreadCrumb('bankstatement.php', 'Bank Statement');
$ca->initPage();
$ca->requireLogin(); // Uncomment this line to require a login to access this page
// Check login status
if ($ca->isLoggedIn()) {
//get the logged in user id
$loggedin_user_id = $ca->getUserID(); //$_SESSION['uid'];
$client = Capsule::table('tblclients')
->where('id', '=', $loggedin_user_id)
->first();
$ca->assign('client_email', $client->email);
$ca->assign('clientName', $client->firstname);
//$data = Capsule::table('tblclients');
//->where('id', '=', $ca->getUserID())->value('firstname');
// 'pluck' was renamed within WHMCS 7.0. Replace it with 'value' instead.
//->where('id', '=', $ca->getUserID())
//->value('firstname');
/// $ca->assign('data', $data);
//GET ALL CLIENTS FROM DATABASE
$clientx = Capsule::table('tblclients')
->take(2)
->get();
$ca->assign('clientxs', $clientx);
print_r ($ca->assign('clientxs', $clientx));
} else {
// User is not logged in
$ca->assign('clientname', 'Random User');
}
$ca->setTemplate('bankstatement');
$ca->output();
这是模板codecurrentmembers.tpl。
<p>
Client email is: {$client_email}
</p>
<p>
Client name is: {$clientName}
</p>
<div class="table-container clearfix">
<table class="ui celled table">
<thead>
<tr><th>Name</th>
<th>Email</th>
<th>ID</th>
</tr></thead>
<tbody>
{foreach from=$clientxs item=clientx}
<tr>
<td data-label="Name">{$clientx.firstname} {$clientx.lastname}</td>
<td data-label="Age">{$clientx.email}</td>
<td data-label="Job">{$clientx.id}</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
$clientx是一个对象。所以你需要使用对象操作符(->)来访问它的属性。Dot是用于数组.所以在模板代码中变成:
{foreach from=$clientxs item=clientx}
<tr>
<td data-label="Name">{$clientx->firstname} {$clientx->lastname}</td>
<td data-label="Age">{$clientx->email}</td>
<td data-label="Job">{$clientx->id}</td>
</tr>
{/foreach}