zoukankan      html  css  js  c++  java
  • thinkphp自定义模板标签(二)

    上篇文章已经把自定义标签的准备工作讲完了;那么接下来就是见证...的时候了;没看如何配置的请先移步thinkphp自定义模板标签(一)

        闭合标签就是单标签;比如a标签、img标签等等;

        非闭合标签就是对标签;比如div、p标签等等;

        这里以自定义的ueditor和recommend标签为例;

        自定义的闭合标签比较适合用来引文件;

        自定义的对标签比较适合调取数据库的数据并前台页面遍历显示;

    <?php  

    namespace CommonTag;
    use ThinkTemplateTagLib;

    class My extends TagLib {
        // 定义标签
        protected $tags=array(
             // 标签定义: attr 属性列表 close 是否闭合(0 或者1 默认1) alias 标签别名 level 嵌套层次
            'ueditor'=> array('attr'=>'name,content','close'=>0),
            'recommend'=>array('attr'=>'limit','level'=>1)
            );

        /**
        *引入ueidter编辑器
        *@param string $tag  name:表单name content:编辑器初始化后 默认内容
        */
        public function _ueditor($tag){
            $name=$tag['name'];
            $content=$tag['content'];
            $link=<<<php
    <script id="container" name="$name" type="text/plain">
        $content
    </script>
    <script type="text/javascript" src="__PUBLIC__/static/ueditor1_4_3/ueditor.config.js"></script>
    <script type="text/javascript" src="__PUBLIC__/static/ueditor1_4_3/ueditor.all.js"></script>
    <script type="text/javascript">
        var ue = UE.getEditor('container');
    </script>
    php;
            return $link;
        }

        // 置顶推荐文章标签 cid为空时则抓取全部分类下的推荐文章
         public function _recommend($tag,$content){
             if(empty($tag['cid'])){
                 $where="is_show=1 and is_delete=0 and is_top=1";
             }else{
                 $where='is_show=1 and is_delete=0 and is_top=1 and cid='.$tag['cid'];
             }
             $limit=$tag['limit'];
             // p($recommend);
             $php=<<<php
    <?php         
                $recommend=M('Article')->field('aid,title')->where("$where")->limit($limit)->select();
                foreach ($recommend as $k => $field) {
                    $url=U('Home/Index/article',array('aid'=>$field['aid']));
    ?>
    php;
            $php.=$content;    //拼字符串的过程。。。
            $php.='<?php } ?>';//foreach的回扩;
            return $php;
         }
    }
    ?>

    定义完成后在html页面中就可以直接使用<ueditor />即可引入ueditor文件;

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    <ueditor />
    </head>
    <body>
        <recommend cid="" limit="10">
           <a class="recommend-a" href="{:U('Home/Index/article',array('aid'=>$field['aid']))}" target="_blank">{$k+1}:{$field['title']}</a>
        </recommend>
    </body>
    </html>

    ueditor标签可以直接实例化ueditor编辑器

    而如下图本站的热门推荐就是使用recommend遍历的;

    白俊遥博客

  • 相关阅读:
    MySQL8安装及使用当中的一些注意事项
    设计模式-观察者模式
    在线教育项目-day12【完善后端整合前端】
    在线教育项目-day12【微信扫码登录】
    在线教育项目-day12【OAuth2】
    在线教育项目-day12【完善登陆页面】
    在线教育项目-day12【整合前端登陆注册页面(2)】
    在线教育项目-day12【整合前端登陆注册页面(1)】
    在线教育项目-day12【解析oken信息】
    在线教育项目-day12【注册接口】
  • 原文地址:https://www.cnblogs.com/shuaibai123/p/5248602.html
Copyright © 2011-2022 走看看