广

织梦CMS教程

  • 帝国cms教程
  • 织梦CMS教程
  • PHP CMS教程
  • ECSHOP教程
  • WordPress教程
  • Discuz教程
  • CMS学习

    dedecms问答使用二级域名后在首页调用的方法

    2018-04-02 20:50:29 次阅读 稿源:互联网
    广告

    我的问答模块设置为了二级域名:http://ask.daimajiayuan.com

    在首页调用一直显示的是:http://www.aikuaiji.com/ask/question.php?id=21类型

    为了使首页调用问答模块的连接变为:http://ask.daimajiayuan.com/question.php?id=21类型

    摸索了很久,终于找到方法:

    嘿嘿

    首先在后台的模版管理下面的标签源码管理 里面新增加一个标签,命名为askdiaoyong.lib.php ,把以下内容复制到里面

    1. <?php 
    2.   
    3. if(!defined('DEDEINC')) exit('Request Error!'); 
    4.   
    5. function lib_askdiaoyong(&$ctag,&$refObj
    6.     global $dsql$envs$cfg_dbprefix$cfg_cmsurl
    7.     //属性处理 
    8.     $attlist="row|6,qtype|new,tid|0,titlelen|24"
    9.     FillAttsDefault($ctag->CAttribute->Items,$attlist); 
    10.     extract($ctag->CAttribute->Items, EXTR_SKIP); 
    11.      
    12.     if( !$dsql->IsTable("{$cfg_dbprefix}ask") ) return '没安装圈子模块'
    13.   
    14.     if(!ereg("/$"$cfg_cmsurl)) $cfg_ask_url = $cfg_cmsurl."/ask"
    15.     else $cfg_ask_url = $cfg_cmsurl."ask"
    16.      
    17.     $innertext = $ctag->GetInnerText(); 
    18.   if(trim($innertext)==''$innertext = GetSysTemplets("asks.htm"); 
    19.      
    20.     $qtypeQuery = ''
    21.     if($tid>0) $tid = " (tid=$tid Or $tid2='$tid') And "
    22.     else $tid = ''
    23.     //推荐问题 
    24.     if($qtype=='commend'$qtypeQuery = " $tid digest=1 order by dateline desc "
    25.     //新解决问题 
    26.     else if($qtype=='ok'$qtypeQuery = " $tid status=1 order by solvetime desc "
    27.     //高分问题 
    28.     else if($qtype=='high'$qtypeQuery = " $tid status=0 order by reward desc "
    29.     //新问题 
    30.     else $qtypeQuery = " $tid status=0 order by disorder desc, dateline desc "
    31.   
    32.     $ctp = new DedeTagParse(); 
    33.     $ctp->SetNameSpace('field''['']'); 
    34.   
    35.   $solvingask = ''
    36.   $query = "select id, tid, tidname, tid2, tid2name, title from `js_ask` where $qtypeQuery  limit 0, $row"
    37.   $dsql->Execute('me',$query); 
    38.   while($rs = $dsql->GetArray('me')) 
    39.   { 
    40.         $rs['title'] = cn_substr($rs['title'], $titlelen); 
    41.         $ctp->LoadSource($innertext); 
    42.         if($rs['tid2name'] != ''
    43.         { 
    44.             $rs['tid'] = $rs['tid2']; 
    45.             $rs['tidname'] = $rs['tid2name']; 
    46.         } 
    47.         $rs['url'] ="http://ask.daimajiayuan.com/question.php?id={$rs['id']}"
    48.       $rs['typeurl'] ="http://ask.daimajiayuan.com/browser.php?tid={$rs['tid']}"
    49.         foreach($ctp->CTags as $tagid=>$ctag) { 
    50.             if(!empty($rs[strtolower($ctag->GetName())])) { 
    51.                 $ctp->Assign($tagid,$rs[$ctag->GetName()]); 
    52.             } 
    53.           } 
    54.           $solvingask .= $ctp->GetResult(); 
    55.   } 
    56.   return $solvingask
    57.   
    58. ?> 

    然后把

    1. $rs['url'] ="http://ask.daimajiayuan.com/question.php?id={$rs['id']}"
    2. $rs['typeurl'] ="http://ask.daimajiayuan.com/browser.php?tid={$rs['tid']}"

    部分中的域名http://ask.daimajiayuan.com/改为你的问答的二级域名

     

    添加成功,然后在首页模板中加入

    1. <ul class="c1 ico2"> 
    2. {dede:askdiaoyong row='8' qtype='new' tid='0' titlelen='42'
    3. <li><a href="[field:url/]">[field:title/]</a></li>{/dede:askdiaoyong} 

    其中参数说明:

    row='6' 调用条数

    qtype='new' 排序类型 commend 推荐、ok 表示已解决问题、high 高分问题 、new 最新问题

    tid='0' 栏目id,默认是全部

    titlelen='24' 标题长度 

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告