我正在为 WHMCS 设计一个引导主题,在顶部导航中(位于 header.tpl 中),有一个onClick按钮,它显示浮动窗口包含带有自定义滚动的票证列表。
问题是:" clientarea.php "和" supporttickets.php "页面工作正常,但在其他页面中,虽然它显示了票证数量,但没有显示票证的列表视图。
感谢。代码:
{if $loggedin} {if in_array('tickets',$contactpermissions)}
<li class="xn-icon-button pull-right">
<a href="#"><span class="fa fa-comments"></span></a>
<div class="informer informer-danger"> {$clientsstats.numactivetickets}</div>
<div class="panel panel-primary animated zoomIn xn-drop-left xn-panel-dragging">
<div class="panel-heading">
<h3 class="panel-title" style="font-size: 13pt;"> {$LANG.supportticketsopentickets} <span class="fa fa-comments"></span></h3>
<div class="pull-left">
<span class="label label-danger"> Tickets: {$clientsstats.numactivetickets}</span>
</div>
</div>
<div class="panel-body list-group list-group-contacts scroll" style="height: 200px;">
{foreach from=$tickets item=ticket}
<a href="viewticket.php?tid={$ticket.tid}&c={$ticket.c}" class="list-group-item">
<div class="list-group-status status-online"></div>
<img src="templates/{$template}/assets/images/users/dadparvar.jpg" class="pull-right" alt="Hamed Azimi"/>
<span class="contacts-title">{$ticket.department}: <i>{$ticket.status}</i></span>
<p>{if $ticket.unread}<strong>{/if}#{$ticket.tid} - {$ticket.subject}{if $ticket.unread}</strong>{/if}
</p>
</a>
{foreachelse}
{$LANG.supportticketsnoneopen}
{/foreach}
</div>
<div class="panel-footer text-center">
<a href="submitticket.php">{$LANG.opennewticket}</a> | <a href="supporttickets.php">Show all tickets</a>
</div>
</div>
</li>
{/if}{/if}
答案 0 :(得分:1)
它们在上述页面上可用,因为WHMCS已经为您加载它们。在门票不可用的页面中,使用WHMCS API函数将它们加载到您在模板中使用的具有相同结构的变量中。
{php}
$client_id = $this->get_template_vars('clientsdetails.id');
$results = localAPI('gettickets', array('clientid' => $client_id), 'admin');
if ($results['result'] == 'success') {
$tickets = $results['tickets']['ticket'];
}
$this->assign('tickets', $tickets);
{/php}
将此代码添加到您想要查看故障单列表的TPL文件的顶部。
注意:
代码仍缺少一些必需的功能,如检查故障单访问权限和部门名称,您可以直接检查WHMCS API或查询数据库。
您可以使用smarty includes将代码添加到一个文件中,并在需要时将其包含在内。