extention.func.php 里面增加:
/**
* 跨模型 跨栏目调用最新数据
*
* @param $modelid 模型ID 可以有多个用,隔开
* @param $limit 要调用的数量
* @param $siteid 站点ID 默认为1
* @return array 返回一个数组
*/
function news($modelid="1,2", $limit="20", $siteid=1){
$db = pc_base::load_model('content_model');
$mdb = pc_base::load_model('sitemodel_model');
$mid = explode(',', $modelid);
$msid = $mdb->select("siteid = $siteid","modelid");
$modelid = array();
foreach ($msid as $v) {
$modelid[]= $v['modelid'];
}
foreach ($mid as $v) {
if(!in_array($v, $modelid)){
echo $v."不存在,请联系网站管理员!";
exit();
}
}
$lists = array();
foreach ($mid as $v) {
$db->set_model($v);
$tablename = $db->table_name;
$lists = array_merge($lists, $db->select('status=99', 'id,catid,title,thumb,url,inputtime,description', $limit, 'inputtime DESC'));
}
return array_slice(array_sort($lists, 'inputtime'), 0, $limit);
}
/**
* 跨模型 跨栏目调用最新数据
*
* @param $arr 要排序的数组
* @param $keys 排序的字段
* @param $type 排序方式
* @return array 返回一个数组
*/
function array_sort($arr, $keys, $type = 'desc') {
$keysvalue = $new_array = array();
foreach ($arr as $k => $v) {
$keysvalue[$k] = $v[$keys];
}
if ($type == 'asc') {
asort($keysvalue);
} else {
arsort($keysvalue);
}
reset($keysvalue);
foreach ($keysvalue as $k => $v) {
$new_array[$k] = $arr[$k];
}
return $new_array;
}
调用方式
<?php $data = news('1,2,3', 100); ?>
{loop $data $r}
......your code
{/loop}
1,2,3是模型ID,100是调用数量
评论前必须登录!
注册