tp6 自定义标签,求解!

浏览:1938 发布日期:2020/09/12 分类:ThinkPHP6专区 关键字: tp6,自定义标签
在tp6里,我按照以前TP5的写法,不能使用,下面我把过程写一下:还望大家看一下,哪里错了??
一、安装了扩展

二、在index 应用了写了自定义标签库的实例namespace app\index\common\taglib;
use think\template\TagLib;
use think\facade\Db;
class Qdcms extends TagLib
{
    protected $tags = [
        
            'myppt' => ['attr'=>'title,big_img,small_img,limit,id,typeid,link,des,order,status','close'=>1],
     ];
        
    // 幻灯片调用
    public function tagMyppt($tag,$content) {
        $limit=isset($tag['limit']) ? $tag['limit']:'';
        $typeid=isset($tag['typeid']) ? $tag['typeid']:'';
        $order = empty($tag['order']) ? "'sort ASC'" : '"'.$tag['order'].'"';
        $big_img=isset($tag['big_img']) ? $tag['big_img']:'';
        $small_img=isset($tag['small_img']) ? $tag['small_img']:'';
        $link=isset($tag['link']) ? $tag['link']:'';
        $des=isset($tag['des']) ? $tag['des']:'';
        $status=isset($tag['status']) ? $tag['status']:'';
        $str='<?php ';
        if($limit) {
            $str .='$myppt=Db::name("hdad")
            ->where(array("hdadpos_id"=>'.$typeid.'))
            ->where(array("status"=>1))
            ->limit('.$limit.')
            ->order('.$order.')
            ->select();';
        } else {
            $str .='$myppt=Db::name("hdad")->select();';
        }
        $str .='foreach($myppt as $k=>$v):?>';
        $str .=$content;
        $str .="<?php endforeach; ?>";
        return $str;
    }
}
三、在index应用里,建立了config 配置,view.php 'taglib_pre_load'  => 'app\index\common\taglib\Qdcms',四、模板中调用。  {qdcms:myppt limit='8' typeid='1'  order='sort asc'}
        <li><a href="{$v.link}"><img src="{$v.big_img}" alt="{$v.title}"/></a></li>
       {/qdcms:myppt} 
然后就报错了:
Class 'Db' not found

请教大家了 !谢谢
最佳答案
评论() 相关
后面还有条评论,点击查看>>