zoukankan      html  css  js  c++  java
  • thinkCMF----列表页跳转

    thinkCMF列表循环有个:用来循环文章列表。

    <php>
        $where=[
        'post.create_time'=>['egt',0]
        ];
        $page=[
            'list_rows'=>10,
            'next'=>'下一页',
            'prev'=>'上一页'
        ];
    </php>
    <portal:articles item="vo" where="$where" order="post.create_time DESC" page="$page" relation="categories" categoryIds="$category.id" returnVarName="articles_data">
    </portal:articles>

    但是用这个,一直用不了,就自己重新写了一个:修改 ListController.class 类:

    class ListController extends HomeBaseController{
        public function index(){
            $id = $this->request->param('id', 0, 'intval');            
            $portalCategoryModel = new PortalCategoryModel();
            $category = $portalCategoryModel->where('id', $id)->where('status', 1)->find();
            // 获取当前栏目下的所有子栏目ID
            $category_list = Db::name('portal_category')->field(array('id','parent_id'))->select();
            $category_arr = array();
            $cur_category_list = array();
            array_push($cur_category_list,intval($id));
            foreach($category_list as $v){
                $arr = array();
                $arr['id'] = $v['id'];
                $arr['pid'] = $v['parent_id'];
                array_push($category_arr,$arr);
            }
            //得到当前栏目所有的子栏目ids
            $cur_category_ids = array_merge($cur_category_list,get_all_child($category_arr,$id));
            //获取当前所有子栏目的所有文章ids
            $all_post_ids_arr = array();
            $all_post_ids = Db::name('portal_category_post')->where('category_id','in',$cur_category_ids)->field(array('post_id'))->select();
            foreach($all_post_ids as $v){
                array_push($all_post_ids_arr,$v['post_id']);
            }        
            // 获取当前栏目及子栏目所有的文章列表
            $where = array();
            $where['id'] = array('in',$all_post_ids_arr);
            $where['post_type'] = 1;
            $where['post_status'] = 1;
            $pagelist_arr = Db::name('portal_post')->where($where)->paginate(12);
            $page = $pagelist_arr->render();
            // 处理跳转链接 和 栏目的图片
            $pagelist = array();
            foreach($pagelist_arr as $k => $v){
                $v['thumb'] = '/upload/'.json_decode($v['more'],true)['thumbnail'];
                $v['category_id'] = $this->get_category_id($v['id']);
                array_push($pagelist,$v);
            }
            $this->assign('pagelist',$pagelist);    
            $this->assign('category', $category);
            $this->assign('page', $page);
            $listTpl = empty($category['list_tpl']) ? 'list' : $category['list_tpl'];
            return $this->fetch('/' . $listTpl);
        }
        /*
         * get_category_id 根据文章的id 获取栏目 category_id
         */
        private function get_category_id($id){
            $categoryinfo = Db::name('portal_category_post')->where('post_id','eq',$id)->field('category_id')->find(); 
            return $categoryinfo['category_id'];
        }
    }

    具体使用:

    <foreach name="pagelist" item="v">
    <dl class="caselist">
        <dt class="ab"><a href="{:cmf_url('portal/Article/index',array('id'=>$v['id'],'cid'=>$v['category_id']))}"><img src="__ROOT__{$v['thumb']}" alt="" width="285" height="190"></a></dt>
        <dd class="info">
            <a href="{:cmf_url('portal/Article/index',array('id'=>$v['id'],'cid'=>$v['category_id']))}">{$v['post_title']}</a>
            <a href="{:cmf_url('portal/Article/index',array('id'=>$v['id'],'cid'=>$v['category_id']))}">企业官网</a>
        </dd>
    </dl>
    </foreach> 
    <div class="pagination tc">
    {$page}
    </div>
  • 相关阅读:
    AS快捷键的设置
    hausaufgabe--python 23- Recurse 2
    hausaufgabe--python 22- Recurse
    hausaufgabe--python 21_ Lambda
    hausaufgabe--python 20-Closure functions 2
    hausaufgabe--python 20- usage of Closure
    hausaufgabe--python 19- Functions 2
    hausaufgabe--python 18- Defined specific Functions
    hausaufgabe--python 17- Function definition
    hausaufgabe--python 16- Sequenz
  • 原文地址:https://www.cnblogs.com/e0yu/p/9540734.html
Copyright © 2011-2022 走看看