html,{dede:sql name='getAnswer'}, SELECT * FROM
#@__answer ORDER BY id DESC LIMIT 0,10,{/dede:sql},{dede:loop $getAnswer $row},{$row.question},{$row.answer},{/dede:loop},
“,3. 保存模板文件并更新网站缓存。,,这样,首页模板就会显示最新的10个问答系统的内容。在DEDECMS中,首页模板调用问答系统内容的方法主要通过添加函数来实现,以下是具体步骤:
第一步:打开文件并添加函数
1、打开文件:首先需要打开/include/common.func.php
文件,如果使用的是DedeCMS v5.7版本,可以打开/include/extend.func.php
文件。
2、添加函数:在文件中加入一个自定义函数pasterTempletDiy
,代码如下:
function pasterTempletDiy($path) { require_once(DEDEINC."/arc.partview.class.php"); global $cfg_basedir,$cfg_templets_dir; $tmpfile = $cfg_basedir.$cfg_templets_dir."/".$path; //模版文件的路径 $dtp = new PartView(); $dtp>SetTemplet($tmpfile); $dtp>Display(); }
第二步:修改模板文件
1、找到模板文件:打开留言本或问答的模版文件,默认路径为/templets/plus/guestbook.htm
或者/ask/templates/default
。
2、替换头部和底部代码:使用以下代码替换原有的头部和底部调用代码:
头部代码:
<?php pasterTempletDiy("default/head.htm"); ?>
底部代码:
<?php pasterTempletDiy("default/footer.htm"); ?>
第三步:调用问答模块内容
1、调用问题标签:在首页模板中插入以下代码来调用问答模块的问题列表:
{dede:ask row='6' qtype='new' tid='0' titlelen='40' addfields='autoindex'} [field:title/] {/dede:ask}
row='6'
:表示调用6条记录。
qtype='new'
:表示按最新问题排序。
tid='0'
:表示调用所有分类的问题。
titlelen='40'
长度为40个字符。
addfields='autoindex'
:表示自动索引字段。
2、调用一问一答标签:如果需要展示一问一答的内容,可以使用SQL查询语句进行调用:
{dede:sql sql="SELECT dede_ask.id, dede_ask.title, dede_askanswer.content FROM dede_ask LEFT JOIN dede_askanswer ON dede_ask.id=dede_askanswer.askid WHERE dede_askanswer.ifanswer=1 AND dede_askanswer.ifcheck=1 OR dede_ask.bestanswer=dede_askanswer.id ORDER BY dede_ask.id DESC LIMIT 0,6"} <li><a href="/ask/?ct=question&askaid=[field:id/]" class="link3">[field:title function="cn_substr(@me,46)/"]<br/>[field:content function="cn_substr(html2text(@me),38)/"]...</a></li> {/dede:sql}
dede_ask
:问题表。
dede_askanswer
:回答表。
ifanswer=1
:表示已回答问题。
ifcheck=1
:表示审核通过的回答。
bestanswer
:最佳答案标识。
相关FAQs
1. 如何在DEDECMS中实现问答系统与网站其他部分的样式统一?
答:可以通过在/include/common.func.php
或/include/extend.func.php
文件中添加自定义函数pasterTempletDiy
,然后在问答模板文件中调用该函数,以使用统一的头部和底部模板。
2. 如何在首页模板中调用问答模块的问题列表?
答:可以在首页模板中插入以下代码来调用问答模块的问题列表:
{dede:ask row='6' qtype='new' tid='0' titlelen='40' addfields='autoindex'} [field:title/] {/dede:ask}
这段代码将按照最新问题排序,调用6条记录并在首页显示。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1231397.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复