西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > wordpress教程 >

修改dede5.7 ask源码标签 使之实现- 调用相应级别的问答

时间:2016-10-12 12:37来源:未知 作者:好模板编辑 点击:
修改织梦dedecms 5.7 ask源码标签 使之实现- 调用相应级别的问答 。 ,可根据需要修改 : /include/asks.lib.php ?php if(!defined(DEDEINC)) exit(Request Error!); /** * 问答调用标签 * * @version $Id: ask.lib.php 1
修改织梦dedecms 5.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}

这样就OK了。
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------