public function showlist()
 {
     //取出商品栏目
     $cat_model = new \Model\CategoryModel();
     $cat_list = $cat_model->getTree();
     $this->assign('cat_list', $cat_list);
     //取出商品并分页显示
     $goods_model = new \Model\GoodsModel();
     $pagesize = C('pagesize');
     $count = $goods_model->count();
     $page = new \Think\Page($count, $pagesize);
     //设置分页样式
     $page->lastSuffix = false;
     //不显示末页
     $page->rollPage = 3;
     //一次显示三页
     $page->setConfig('prev', '【上一页】');
     $page->setConfig('next', '【下一页】');
     $page->setConfig('first', '【首页】');
     $page->setConfig('last', '【末页】');
     $page->setConfig('theme', '共 %TOTAL_ROW% 条记录,当前 %NOW_PAGE%/%TOTAL_PAGE%%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%');
     $pageinfo = $page->show();
     //获取当前页方便跳转
     $nowpage = $page->nowPage;
     $goods_list = $goods_model->order('goods_id desc')->limit($page->firstRow . ',' . $page->listRows)->select();
     $this->assign('goods_list', $goods_list);
     $this->assign('pageinfo', $pageinfo);
     $this->assign('nowpage', $nowpage);
     $this->display();
 }
 public function index()
 {
     //取出层级格式化过的栏目信息,用于前台左侧菜单栏显示
     //每次都递归取出,服务器和数据库压力都很大,优化方法将数据缓存存入memcache中
     S(array('type' => 'memcache', 'host' => 'localhost', 'port' => '11211'));
     //直接从缓存中取cat_list
     $cat_list = S('catl_ist');
     //如果为空,则去服务器将数据取出并加入到memcache缓存中
     if (empty($cat_list)) {
         $cat_model = new \Model\CategoryModel();
         $cat_list = $cat_model->getTree();
         S('cat_list', $cat_list, 3600 * 24);
     }
     $this->assign('cat_list', $cat_list);
     //在首页取出精品热卖新品商品
     $goods_model = new \Model\GoodsModel();
     // 这种写法不用assign直接属性赋值
     $this->goods_hot_list = $goods_model->getGoodsByType('hot', 3);
     $this->goods_new_list = $goods_model->getGoodsByType('new', 3);
     $this->goods_best_list = $goods_model->getGoodsByType('best', 3);
     $this->display();
 }
 public function update($cat_id)
 {
     $cat_id = (int) $cat_id;
     $model = new \Model\CategoryModel();
     if (IS_POST) {
         if ($data = $model->create(I('post.'), 2)) {
             //查找自身和下级的cat_id,防止修改表单恶意提交(将自身或者下级作为自身的父级)
             $ids = $model->getChild($cat_id);
             $ids[] = $cat_id;
             $parent_id = (int) I('post.parent_id');
             if (in_array($parent_id, $ids)) {
                 $this->error('不能讲自身和下级栏目作为自身的父级');
             }
             if ($model->save($data) !== false) {
                 $this->success('修改成功', U('showlist'), 1);
                 exit;
             } else {
                 $this->error('修改失败');
             }
         } else {
             $this->error($model->getError());
         }
     }
     //取出要修改栏目的信息
     $info = $model->find($cat_id);
     $this->assign('info', $info);
     //取出要修改的栏目的自身和下级栏目,在修改界面不显示
     $ids = $model->getChild($cat_id);
     $ids[] = $cat_id;
     $this->assign('ids', $ids);
     //取出商品栏目
     $cat_list = $model->getTree();
     $this->assign('cat_list', $cat_list);
     $this->display();
 }