TP3.2.3 亲测自定义标签通用代码

jerry thinkphp 2015年11月19日 收藏
3.2.3自定义标签通用代码(新手第一次发)
标签库代码:
<?php
namespace Think\Template\TagLib;
use Think\Template\TagLib;

class lx extends TagLib {
    protected $tags = array(
    'list' => array('attr' => 'type,order,limit,where','close' => 1),
    );
    public function _list($attr,$content) {
        $type = $attr['type']; //要查询的数据表
        $order = $attr['order'];    //排序
        $limit = $attr['limit']; //多少条数据
        $where = $attr['where']; //查询条件
        $str = '<?php ';
        $str .= '$result = M("' . $type . '")->where("' . $where . '")->order("' . $order . '")->limit(' . $limit . ')->select();';
        $str .= 'foreach ($result as $v):';
        $str .= '?>';
        $str .= $content;
        $str .= '<?php endforeach ?>';
        return $str;
    }
}
调用代码:
<lx:list type="user" limit="" order="id desc" where="user = 'test'">
{$v[id]} -- {$v[user]}<br />
</lx:list>
注意:where 的条件字符串要有单引号,另外{$v[id]}要这样写,如果写成{$v:id}无效.该文件与Cx标签库放在同一个文件夹下...修改THINKPHP文件夹下通用配置文件. 新手第一次发,研究了三天,如果有任何BUG,请及时告知..谢谢.