POST TIME:2017-11-13 01:09
dedecms5.7下,問答首頁(ask)調(diào)用的是一些最新問題、高懸賞問題等,在實際的使用中發(fā)現(xiàn),雖然各個問答欄目下調(diào)用出來了所有的問題,但是首頁中并沒有所有問題的調(diào)用方法。
當(dāng)問題過期、未解決等情況出現(xiàn)的時候,ask首頁就不再能看到所有問題的列表了,這對用戶檢索或者是搜索引擎抓取來說都是不好的。解決方法就是在織夢ask首頁調(diào)用出來所有問題。
要解決這個問題,首先想到的php或者是直接的sql代碼實現(xiàn),不過效率不高,而且折騰起來挺麻煩,于是就利用了問答系統(tǒng)中的“推薦問題”功能,也就是說將推薦問題在問答首頁調(diào)用出來即可。
需要首先修改ask的首頁模板,位置在/ask/templates/default下的index.html,在適當(dāng)?shù)牡胤郊尤胍韵麓a:
<div class="fl center mt10 ml10">
<dl>
<dt><span class="fl tit2 ico2">問題列表</span></dt>
<dd class="bor1 pd10">
<ul>
{dede:ask row='100' titlelen='100' sort='commend'}
<dd> <span class="tclass">[{dede:field.typedata /}]</span> <span class="tlink"><a href="?ct=question&askaid={dede:field.id /}">{dede:field.title /}</a></span> </dd>
{/dede:ask}
</ul>
</dd>
</dl>
</div>
上述代碼是在ask首頁中劃定了一塊區(qū)域,用來顯示推薦問題的列表。
修改完上述代碼以后,需要到后臺的問答管理中,選定一些需要的問題進(jìn)行推薦,所有執(zhí)行了“推薦”操作的問題將會顯示在首頁。
刷新問答首頁即可看到列表效果,此時的問答系統(tǒng)中推薦的問題鏈接是可用的,但是欄目鏈接卻有錯誤,需要修改url格式,具體設(shè)計到的標(biāo)簽是dede:field.typedata。
要修改這個標(biāo)簽,需要找到這個位置:/include/tpllib/plus_ask.php,文件中有兩處定義typedata的地方,根據(jù)URL結(jié)構(gòu)做如下修改:
while($row = $dsql->GetArray('an'))
{
if($row['tid2'] != 0)
$row['typelink'] = $row['typedata'] = " <a href='?ct=browser&tid2={$row['tid2']}'>{$row['tid2name']}</a>\r\n";
else
$row['typelink'] = $row['typedata'] = " <a href='?ct=browser&tid={$row['tid']}'>{$row['tidname']}</a>\r\n";
$row['title'] = cn_substr($row['title'],$titlelen);
$rearr[] = $row;
}
實際上就是修改了問答欄目的url構(gòu)成方式,經(jīng)過上面的修改,織夢問答首頁的所有問題調(diào)用就完成了。