• 数据调用方法


    直接调用方法:

      例如调用cate 
             <ul class="nav"> 
                 <php>
                   $cate = M('cate')->order('sort')->select();
                   import('Class.Category',APP_PATH);
                    $cate = Category::unlimitedForLayer($cate);
                   </php>
                        <foreach name="cate" item="v">
                            <li>
                                <a href="">{$v.name}</a>
                                <ul class="subnav" style="display:none;">
                                    <foreach name="v.child" item='value'>
                                        <li><a href="">{$value.name}</a></li>
                                    </foreach>
                                </ul>
                            </li>
                        </foreach>
            </ul>


    自定义标签方法:

    1、在相应分组下TagLib文件夹中 建立文件如: TagLibNav.class.php
    内容如下:
        注意:
            1)、自定义的固定格式
            2)、注意使用""进行双引号中变量的转义,也可以用单引号,就不需要转义了,那得一句一句写,使用 ".="进行连接。
    说明: $attr是传递了自定义标签的attribute的array , $content传递了自定义标签的内容,

    <?php 
    import('TagLib');
    /**
    * 自定义标签,来自视频40
    */

    class TagLibNav extends TagLib{
        protected $tags = array(
            'nav'=>array('attr'=>'limit,order','close'=>1),
            );
        public function _nav($attr,$content){
            // echo $attr;
            // echo $content;
            $attr = $this->parseXmlAttr($attr);
            $limit = $attr['limit'];
    $str = <<<str
    <?php
        $cate = M('Cate')->order("{$attr['order']}")->limit({$attr['limit']})->select();
        import('Class.Category' ,APP_PATH);
        $cate = Category::unlimitedForLayer($cate);
        foreach ($cate as $v) :
            extract($v);
        $url = U('/c_' . $id);
    ?>
    str;
            $str .= $content;
            $str .= '<?php endforeach;?>';
            return $str;
        }
    }
    ?>
    2、在相应的分组config.php中配置
           'APP_AUTOLOAD_PATH'=>'@.TagLib',
        'TAGLIB_BUILD_IN'=>'Cx,Nav',

    3、在相应的文件里使用自定义标签
                    
    <nav limit='6' order='sort ASC'>   
                            <li><a href="{$url}">{$name}</a></li>
                            <ul>
                                <foreach name ='child' item='v'>
                                     <li><a href="{:U('/c_' . $v['id'])}">{$v.name}</a></li>
                                </foreach>
                            </ul>
                        </nav>

    Widget方法:

    1、在相应分组中建立WidgetHotWidget.class.php
        <?php 
    /**
    * 自定义widget
    */

    class HotWidget extends Widget
    {
       
        public function render($data)
        {
            // p($data);
            // return "测试";
            // $blog = M('blog')->field(array('id','title','click'))->order('click Desc')->limit(5)->select();
            // p($blog);
            $data['blog'] = M('blog')->field(array('id','title','click'))->order('click Desc')->limit(5)->select();
            return $this->renderFile('',$data);
        }
    }
     ?>

    2、建立模板文件WidgetHotHot.html

    <dl>
        <dt>热门博文(widget)</dt>
        <foreach name ='blog' item ='v'>
            <dd><a href="{:U('/' .$v['id'])}">{$v.title}</a> <span>{$v.click}</span></dd>
        </foreach>
    </dl>

    3、调用

        {:W('Hot',array('id'=>100))}
    调用时可传入参数,用array形式传入。






  • 相关阅读:
    Java自定义异常
    Java异常处理教程
    Java异常抛出
    Java泛型方法和构造函数
    Java泛型类
    Java继承方法隐藏(覆盖)
    Java继承和构造函数
    Java方法覆盖教程
    PHP设置时区
    PHPCMS v9的表单向导实现问答咨询功能的方法
  • 原文地址:https://www.cnblogs.com/fansino/p/3555946.html
Copyright © 2020-2023  润新知