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

    修改dede5.7 ask源码标签 使之实现---;调用相应级别的问答
    POST TIME:2021-05-23 00:19

    修改dede5.7 ask源码标签 使之实现--->调用相应级别[一级,二级,...栏目]的问答,可根据需要修改 

    /include/asks.lib.php
     

    <?php if(!defined('DEDEINC')) exit('Request Error!');
    /**
     * 问答调用标签
     *
     * @version        $Id: ask.lib.php 1 9:29 2010年7月6日Z tianya $
     * @package        DedeCMS.Taglib
     * @copyright      Copyright (c) 2007 - 2010, DesDev, Inc.
     * @license        http://help.dedecms.com/usersguide/license.html
     * @link           http://www.dedecms.com
     */
    function lib_asks(&$ctag,&$refObj)
    {
        global $dsql, $envs, $cfg_dbprefix, $cfg_cmsurl,$cfg_ask_directory,$cfg_ask_isdomain,$cfg_ask_domain;
        //属性处理
        $attlist="row|6,qtype|new,titlelen|24,typeid|0";
        FillAttsDefault($ctag->CAttribute->Items,$attlist);
        extract($ctag->CAttribute->Items, EXTR_SKIP);
        
        if( !$dsql->IsTable("{$cfg_dbprefix}ask") ) return '没安装问答模块';
        
        //启用二级域名
        if($cfg_ask_isdomain == 'Y')
        {
            $weburl = $cfg_ask_domain.'/';  
        }else{
            $weburl = $cfg_ask_directory.'/'; 
        }
        
        $innertext = $ctag->GetInnerText();
        if(trim($innertext)=='') $innertext = GetSysTemplets("asks.htm");
        
        if($typeid==0) {
            $typeid = ( isset($refObj->TypeLink->TypeInfos['id']) ? $refObj->TypeLink->TypeInfos['id'] : $envs['typeid'] );
        }
        
        $arc=$dsql->GetOne("Select id,topid,typename From `dede_arctype` where id='$typeid' ");
        $topid=$arc['topid'];
        $typename=$arc['typename'];
        
        if($topid==0){
            $arcs=$dsql->GetOne("SELECT tid,tid2 FROM `dede_ask` where tidname='$typename' ");
            $tid=$arcs['tid'];
        }else{
            $arcs=$dsql->GetOne("SELECT tid,tid2 FROM `dede_ask` where tid2name='$typename' ");
            $tid=$arcs['tid2'];
        }
        
        $qtypeQuery = '';
        if($tid > 0) $tid = " (tid=$tid Or tid2='$tid') AND ";
        else $tid = '';
        //推荐问题
        if($qtype=='commend') $qtypeQuery = " $tid digest=1 ORDER BY dateline DESC ";
        //新解决问题
        else if($qtype=='ok') $qtypeQuery = " $tid status=1 ORDER BY solvetime DESC ";
        //高分问题
        else if($qtype=='high') $qtypeQuery = " $tid status=0 ORDER BY reward DESC ";
        //新问题
        else $qtypeQuery = " $tid status=0 ORDER BY disorder DESC, dateline DESC ";
     
        $ctp = new DedeTagParse();
        $ctp->SetNameSpace('field', '[', ']');
     
        $solvingask = '';
        $query = "SELECT id, tid, tidname, tid2, tid2name, title, content, dateline FROM `dede_ask` WHERE $qtypeQuery  limit 0, $row";
        $dsql->Execute('me',$query);
        
        while($rs = $dsql->GetArray('me'))
        {
            $rs['title'] = cn_substr($rs['title'], $titlelen);
            $rs['content'] = strip_tags($rs['content']);
            $ctp->LoadSource($innertext);
            if($rs['tid2name'] != '')
            {
                $rs['tid'] = $rs['tid2'];
                $rs['tidname'] = $rs['tid2name'];
            }
            //$rs['url'] = $weburl."?ct=question&askaid=".$rs['id'];
            $rs['url'] = $weburl.$rs['id'].'.html';
            foreach($ctp->CTags as $tagid=>$ctag) {
                if(!empty($rs[strtolower($ctag->GetName())])) {
                    $ctp->Assign($tagid,$rs[$ctag->GetName()]);
                }
            }
            $solvingask .= $ctp->GetResult();
        }
        return $solvingask;
    }
     

    模板调用---->去掉了 tid='0',其他可根据需要调用

    {dede:ask row='6' qtype='new'  titlelen='24'}
    <dd>
        <span>[<a href='[field:typeurl/]'>[field:tidname/]</a>]</span>
        <span><a href="[field:url/]">[field:title/]</a></span>
    </dd>
    {/dede:ask}

     

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

    截屏,微信识别二维码

    微信号:veteran88

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

     打开微信

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