zoukankan      html  css  js  c++  java
  • 问答项目---分类数据做缓存处理!

    这里的处理:

    电脑/网络 是一个一级栏目,下面是它的子栏目,可以通过循环把它的子栏目压到它下面去,方便循环遍历:

    由于:这块的数据,不会发生太大的变化,可以通过缓存,节省资源:

    示例代码:

    <?php
    namespace HomeController;
    use ThinkController;
    class IndexController extends CommonController {
        public function index(){
            if(S('category')){
                $cate = S('category');
            }else{
                $cate = M('category')->where(array('pid'=>0))->select();
                foreach($cate as $k => $v){
                    $cate[$k]['child'] = M('category')->where(array('pid'=>$v['id']))->select();
                }
                //执行之后 生成缓存 
                S('category',$cate,3600*24);
            }
            $this->assign('cate',$cate);
            $this->display();
        }
    }

    生成缓存具体的文件:

    上面左右两块的展示方式不一样,可以考虑:foreach 里嵌套 for 循环:

    <ul class='left-list'>
        <foreach name='cate' item="v">
        <li class='list-l1'>
            <div class='list-l1-wrap'>
                <h4><a href="{:U('List/index',array('id'=>$v['id']))}">{$v.name}</a></h4>
                <ul class='list-l2'>
                    <for star='0' end='3' name='i'>
                        <li><a href="{:U('List/index',array('id'=>$v['id']))}">{$v['child'][$i]['name']}</a></li>
                    </for>
                </ul>
            </div>
            <div class='list-more hidden'>
                <ul>
                     <for star='3' end='count($v["child"])' name='i'>
                        <li><a href="{:U('List/index',array('id'=>$v['id']))}">{$v['child'][$i]['name']}</a></li>
                    </for>
                </ul>
            </div>
        </li>
        </foreach>    
    </ul>
  • 相关阅读:
    汉字获取首字母
    .net 实现对DNS服务器的管理
    css使图片变灰
    javascript实现文本框只能输入数字和字母
    解决Outlook不能打开的问题
    javascript实现弹出式登录界面
    asp.net防盗链技术
    javascript中replace()(转帖)
    chm文件无法显示问题
    使用Lucene.NET进行分词、搜索
  • 原文地址:https://www.cnblogs.com/e0yu/p/7445688.html
Copyright © 2011-2022 走看看