自定义PHP
有tp5框架作为程序驱动,苹果cmsV10其实远远比我们以往所认识的还要强大,当已有的tp5标签和cms标签满足不了需求时,就可以使用到模板自定义php。例如现在某些模板厂商都把自定义后台搬到模板里了,虽然足以说明模板自定义php很灵活,但是这种做法官方不推荐,一般用的最多就是自定义处理函数.
方法示例
在模板html
目录中创建php
文件夹,并创建一个 extra.php
文件
html └─php └─ extra.php
在这个 extra.php
可是使用php为所欲为,包括调用内部模型、查询数据库、自定义api接口都是可以的。
extra.php
<?php //extra.php //自定义模板处理,变量 函数 等等 //检查入口是否非法访问 defined('ENTRANCE') or exit('Access Denied'); //自定义函数 function get_time(){ return date('Y-m-d H:i:s',time()); } function get_weekday(){ $weekarray = array("日","一","二","三","四","五","六"); return "星期".$weekarray[date("w")]; } //输出99乘法表 for($i=1;$i<=9;$i++) { for($j=1;$j<=$i;$j++) { echo "$i*$j=".$i*$j .' '; } echo "<br />"; } ?>
然后在模板的html文件中使用模板php引入 extra.php
文件即可执行里面的php代码和使用里面定义的函数:
{php}require MAC_ROOT_TEMPLATE . 'php/function.php'{/php}
整合插件
可以使用tp5助手函数(opens new window)获取后台参数
还可以使用插件函数来调用某个插件的参数
示例
# 获取ppvod插件的配置参数 $ppvod = get_addon_config('ppvod'); print_r($ppvod ); # 助手函数获取全后台数据 $mac = config('maccms'); print_r($mac);
使用模型
在模板自定义php中不仅仅支持全局通用函数的调用,还支持直接使用模型中的方法,例如 maccms:vod
这个标签的原始查询方法。完全可以使用listCacheData()
方式来模拟,满足一些特殊要求。
<
$list = []; $where = [] $where['by'] = 'time'; $where['num'] = 20; $where['type'] = 'all'; $list = model('Vod')->listCacheData($where); print_r($list);
要是model('Vod')
模型中已有的方法还满足不了查询,还可以使用,模型 + where()自定义查询语句。
$list = []; $where = []; $where['vod_id'] = 123; $list = model('Vod')->where($where)->limit(10)->select(); print_r($list);