• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    dedecms搜索功能的处理
    POST TIME:2020-03-31 15:24

    织梦搜索功能的处理

    搜索的模板默认是search.htm位于templet -》default目录下。

    我试着在模板下,写入arclist标签,从而在得到的搜索页面能够载入更多的信息。但是,结果却不是这样的,没有返回任何的搜索结果,相反像其它的global list pagelist等标签就有返回相应的数据。我猜想能不能够使用include标签的。看可不可以返回结果。因此,我就写一个页面。在templets的default目录下。当然也用到arclist标签
    {dede:arclist typeid='1'}
    [field:title/]
    {/dede:arclist}
    得到栏目为1的内容标题。
    刷新搜索页面后,成功返回结果。因此,我决定看看dedecms的搜索底层处理过程。
    /plus/search.php是处理搜索的。
    并在页面中载入require_once(DEDEINC."/arc.searchview.class.php");
    顺藤摸瓜发现,在searchview类中,
    第一 $tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/search.htm"; 搜索模板
    第二 在display方法中有对list pagelist等的处理,因此,直接在搜索模板的页面中写入的list标签处理的有返回结果。
    第三 在DedeTagParse类的display中打印getresult返回的值,而在getresult中发现 $this->AssignSysTag(); 进一步发现但载入include时,就调用DedeTagParse类的includefile方法,很好,快有结果了。最后,在includefile方法中看到
    //编译
    if($ismake!="no")
    {
    require_once(DEDEINC."/channelunit.func.php");
    $dtp = new DedeTagParse();
    $dtp->LoadTemplet($okfile);
    MakeOneTag($dtp,$this->refObj);
    $restr = $dtp->GetResult();
    }
    此刻,通过makeonetag函数,就可以看到通过include标签载入的文件,并对文件的dedecms标签的处理过程了。
    通过,这一次,才知道dedecms的标签处理放在include的taglib目录下。

    每日贴出一点知识,就可以多学会一项技巧!

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!