15621857753

phpcmsV9如何实现调用全站数据

来源:齐鲁建站 栏目:建站教程 阅读: 日期:2021-03-18

本文介绍了phpcmsV9如何实现调用全站数据,解决思跳:先在extention.func.php 里面增加教程给出的代码,然后使用调用方式就可以了。注意1,2,3是模型ID,100是调用数量,这样就可以了。

响应式网站建设

phpcmsV9如何实现调用全站数据?以前小编介绍跨多模型调用全站最新文章的方法,今天再来说说phpcms调用全站数据的方法。

解决办法:

一、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是调用数量

以上就是关于phpcms调用全站数据的所有内容,希望可以帮到大家,欢迎扫码加微信一起交流~

公众号二维码

展开