需要支持?

如果通过文档没办法解决您的问题,请提交工单获取我们的支持!

高级用法

自定义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 .'&nbsp;&nbsp;';
      }
      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);
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
有新私信 私信列表
搜索