DedeCMS升级V5.7sp1后,问答系统做了很大的改变,模板变了,问答也无法匿名访问了,同时新旧问答系统采用不同的URL。
一、匿名访问解决办法
找到dedecms5.7的/ask/control目录下的question.php文件,找到其中的这样一段代码:
if(empty($this->cfg_ml->M_ID))
{
ShowMsg('您尚未登录,请先登录',$GLOBALS['cfg_ask_member']);
exit;
}
if($this->cfg_ml->M_Spacesta < 0)
{
ShowMsg('您还没有通过审核,暂时不能提问,请耐心等....','-1');
exit;
}
删除即可。
留意:这个只是大概修改只保证是可以未登录就可以提问的,这样修改当然不会是完美的,当然也还会有其它后续的问题出现的。。。只是粗略研究了一下这个方向。其它的问题大家可以慢慢完善的。。。
ask\control
search.php
23行,if($cfg_ml->M_Spacesta < 0) 改成 if($cfg_ml->M_Spacesta = 0)
question.php
281行;$rs = $this->question->get_title($data['uid'],$data['title']); 改成 $rs = 0;
二、将老页面内容301到新页面
dedecms v5.7的问答系统与5.6的问答系统URL地址也发生了变化,为了减少重复内容,现在将老的页面URL 301到新的URL
解决办法:找到问答系统根目录下面的question.php文件
在25行下面,即
${$queryarr[$tmpk]} = $queryarr[$tmpv];
}
}
这段代码下面添加以下代码:
$location_href = "http://".$_SERVER['HTTP_HOST']."/ask/?ct=question&askaid=".$id;
//echo $location_href;
header( "HTTP/1.1 301 Moved Permanently");
header("Location: $location_href");
exit;
三、dedecms首页模板调用问答系统内容方法
解决步骤
1,在首页模板中添加问答调用标签,如下:
{dede:ask row='6' qtype='new' tid='0' titlelen='24'}
<li>
<span>[<a href='[field:typeurl/]'>[field:tidname/]</a>]</span>
<span><a href="[field:url/]">[field:title/]</a></span>
</li>
{/dede:ask}
2,修改DEDE内核文件,解决因为上面调用时出现的问答分类为空现象
修改include\taglib\ask.lib.php文件
在 $rs['url'] = $weburl."?ct=question&askaid=".$rs['id'];下面加上一句
$rs['typeurl'] = $weburl."?ct=browser&tid=".$rs['tid'];即可
精彩大片你懂,htTP://uVU.Cc/ijW6
精彩大片你懂,htTP://uVU.Cc/ijW6
万 c部 A 片 高c清 国产.日韩 www.288D.pW
我想要解决这个问题,http://lan335.com加上一个问答