emlog MVC解构--控制器Controller之Search_Controller
  • 内容
  • 评论
  • 相关

Record_Controller控制器用于输出归档文章列表,只有一个方法:display($params)。

function display($params) {
    // 建立日志模型
    $Log_Model = new Log_Model();
    // 建立配置缓存
    $options_cache = Option::getAll();
    // 配置缓存数组键名转换成变量,键值转换成相应的变量值
    extract($options_cache);
    
    // 获取页码,未设置则默认为首页1
    $page = isset($params[4]) && $params[4] == 'page' ? abs(intval($params[5])) : 1;
    // 获取归档日期,格式为年月或年月日,四位年,含前导零的月,含前导零的日,如201607或20160707
    $record = isset($params[1]) && $params[1] == 'record' ? intval($params[2]) : '' ;
    
    // 为了侧边栏的日历归档功能,将record设为全局变量
    $GLOBALS['record'] = $record;
    
    // 定义访问路径变量
    $pageurl = '';
    
    // 归档页面站点标题设置为归档日期-站点浏览器标题
    $site_title = $record . ' - ' . $site_title;
    
    // 单月归档和单日归档
    if (preg_match("/^([\d]{4})([\d]{2})$/", $record, $match)) {  // 单月归档
        // 获取当月的天数
        $days = getMonthDayNum($match[2], $match[1]);
        // 获取当月第一天开始的时间戳
        $record_stime = emStrtotime($record . '01');
        // 获取当月最后一天结束的时间戳
        $record_etime = $record_stime + 3600 * 24 * $days;
    } else { // 单日归档
        // 获取当天开始的时间戳
        $record_stime = emStrtotime($record);
        // 获取当天结束的时间戳
        $record_etime = $record_stime + 3600 * 24;
    }
    // 设置数据库查询条件为开始时间戳到结束时间戳,从新到旧排列
    $sqlSegment = "and date>=$record_stime and date<$record_etime order by date desc";
    // 获取满足条件已发布的日志总数量
    $lognum = $Log_Model->getLogNum('n', $sqlSegment);
    
    // 获取归档页面的总页数
    $total_pages = ceil($lognum / $index_lognum);
    if ($page > $total_pages) { // 页码超过总页数
        // 设置页码为最后一页
        $page = $total_pages;
    }
    // 非首页时查询的开始的界限
    $start_limit = ($page - 1) * $index_lognum;
    
    // 利用Url获取归档链接
    $pageurl .= Url::record($record, 'page');
    
    
    // 获取归档页日志列表
    $logs = $Log_Model->getLogsForHome($sqlSegment, $page, $index_lognum);
    // 利用工具函数获取输出列表页底部页码导航的字符串
    $page_url = pagination($lognum, $index_lognum, $page, $pageurl);
    
    // View调用前台模板的header.php和log_list.php输出归档页
    include View::getView('header');
    include View::getView('log_list');
}
点赞
X
赞助一下:
    支付宝    微信    QQ红包

打开支付宝扫一扫
emlog MVC解构--控制器Controller之Search_Controller
本文标签:这篇文章木有标签
版权声明:若无特殊注明,本文皆为“懒人的小窝”原创,转载请保留文章出处。
本文链接:http://suppore.cn/113.html   百度已收录

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论

4条评论
  1. avatar

    青春博客 Lv.2    北京市 北京宽带通电信技术有限公司    回复

    这是那一个版本的

    1. 头像

      小陈    湖南省邵阳市 移动    回复

      回复了青春博客:5.3.X的

    2. 头像

      青春博客 Lv.2    北京市 北京宽带通电信技术有限公司    回复

      回复了小陈:?和5.3.1 不一样啊

    3. 头像

      小陈    广东省深圳市 联通    回复

      回复了青春博客:一样的。

00:00 / 00:00
顺序播放