我有一个php脚本,可以从数据库中选择并显示每一行。
我想在homepage.tpl中显示WHMCS中发生的所有信息。
我假设有一个索引文件已经在做,但我有一个加密版本。想知道我是否可以使用另一个php文件来分配我的智能变量并能够在我的homepage.tpl中使用它们?
答案 0 :(得分:1)
WHMCS鼓励不在PHP文件中包含php代码,并建议将任何与PHP相关的代码添加到钩子中。
对于你的问题:
1 - 添加文件包含/ hooks / my_list.php,并将以下代码添加到其中:
<?php
if (!defined("WHMCS"))
die("This file cannot be accessed directly");
use Illuminate\Database\Capsule\Manager as Capsule;
add_hook('ClientAreaPage', 1, function ($vars)
{
//Make sure code executed only in homepage.tpl (index.php)
if (strpos($vars['SCRIPT_NAME'], 'index.php') !== false) {
//Read products
$products = Capsule::table('tblproducts')
->where('hidden', '0')
->orderBy('gid', 'name')
->get();
//pass variables to the template
$extra = array("products" => $products, "prdouctsLabel" => "Our Products");
return $extra;
}
});
2 - 在homepage.tpl中,访问传递的变量如下:
<h4>{$prdouctsLabel}</h4>
<ul>
{foreach item=product from=$products }
<li>{$product->name}</li>
{/foreach}
</ul>
参考文献:
答案 1 :(得分:0)
不要以为你可以查看代码heres abetter版本 “
if (!defined("WHMCS"))
die("This file cannot be accessed directly");
require("new.php");
use Illuminate\Database\Capsule\Manager as Capsule;
add_hook('ClientAreaPage', 1, function ($vars)
{
//Make sure code executed only in homepage.tpl (index.php)
if (strpos($vars['SCRIPT_NAME'], 'index.php') !== false) {
$extra = array("products" => $car, "prdouctsLabel" => "Our Products");
return $extra;
}
});'