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

Tag_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;
    // 获取标签名,路径未包含则设置为空
    $tag = isset($params[1]) && $params[1] == 'tag' ? addslashes(urldecode(trim($params[2]))) : '';
    
    // 定义访问路径
    $pageurl = '';
    
    // 设置标签页面站点标题为标签名-站点浏览器标题
    $site_title = stripslashes($tag) . ' - ' . $site_title;
    
    // 建立标签模型
    $Tag_Model = new Tag_Model();
    // 通过标签名称获取包含此标签的日志ID以逗号分隔的字符串
    $blogIdStr = $Tag_Model->getTagByName($tag);
    
    // 标签不包含在任意日志则输出404页面
    if ($blogIdStr === false) {
        show_404_page();
    }
    // 设置数据库搜索条件,从新到旧排列结果
    $sqlSegment = "and gid IN ($blogIdStr) order by date desc";
    // 获取包含标签的日志数量
    $lognum = $Log_Model->getLogNum('n', $sqlSegment);
    
    // 获取标签列表的总页数
    $total_pages = ceil($lognum / $index_lognum);
    if ($page > $total_pages) { // 页码超过总页数
        // 页码设为最后一页
        $page = $total_pages;
    }
    // 利用工具类Url获取标签页面链接
    $pageurl .= Url::tag(urlencode($tag), '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之Tag_Controller
本文标签:这篇文章木有标签
版权声明:若无特殊注明,本文皆为“懒人的小窝”原创,转载请保留文章出处。
本文链接:http://suppore.cn/127.html   百度已收录

发表评论

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

评论

1条评论
  1. avatar

    小指 Lv.1    广东省深圳市 电信    回复

    不错

    00:00 / 00:00
    顺序播放