index.htm
中添加以下代码:,,“html,{dede:include filename="inc/question_module.htm"},
`,,2. 在
question_module.htm文件中,编写问答模块的展示逻辑。,,
`html,,常见问题, {dede:sql name=getQuestionList}, SELECT * FROM
dedecms_question ORDER BY
id DESC LIMIT 10, {/dede:sql}, [field:global runphp='yes' name='getQuestionList'], $row = $this>GetOne();, while($row){, $questionList[] = $row;, $row = $this>GetNext();, }, assign("questionList", $questionList);, [/field:global], {dede:list name='questionList'},,{$fields.title},{$fields.content},, {/dede:list},,
`,,这个示例中,我们首先通过SQL语句获取问答模块的数据,然后使用
dede:list`标签遍历数据并展示在页面上。你可以根据实际需求修改样式和展示逻辑。在Dedecms(织梦CMS)中,首页调用问答模块的方法可以通过多种方式实现,以下是几种常见的方法及其详细步骤:
方法一:通过SQL语句调用问答模块全部内容
1、编写SQL语句:
使用以下SQL语句来调用问答模块的全部内容,包括标题和简介:
{dede:sql sql="Select title, id, dateline, tid, content From #@__ask order by dateline desc limit 0,10"} [field:title function=cn_substr(@me,60)/] [field:content function=cn_substr(html2text(@me),60)/]... {/dede:sql}
这段代码将从数据库中选取最新的10条问答记录,并显示它们的标题和内容摘要。
2、调用相关栏目内容:
如果只想调用某个特定栏目的问答内容,可以使用以下代码:
{dede:sql sql="Select title, id, dateline, tid, content From #@__ask where tid=1 order by dateline desc limit 0,10"} <li> <p><img src="images.jpg" /><a href="/ask/?ct=question&askaid=[field:id/]" target="_blank">[field:title function=cn_substr(@me,60)/]</a></p> <p><img src="/images.gif" />[field:content function=cn_substr(html2text(@me),60)/]...<a href="/ask/?ct=question&askaid=[field:id/]" target="_blank">详细</a></p> </li> {/dede:sql}
这里,tid=1
表示你要调用的栏目ID。
方法二:通过标签调用问答模块内容
1、基本语法:
使用DedeCMS内置的标签来调用问答模块的内容,调用最新的问题列表:
{dede:ask row='6' qtype='new' tid='0' titlelen='24'} <dd> <span>[<a href='[field:typeurl/]'>[field:tidname/]</a>]</span> <span><a href="[field:url/]">[field:title/]</a></span> </dd> {/dede:ask}
参数说明:
row='6'
:调用条数
qtype='new'
:排序类型,可以是commend(推荐)、ok(已解决)、high(高分问题)、new(最新问题)
tid='0'
:栏目ID,默认是全部
titlelen='24'
长度。
2、调用待解决问题:
{dede:ask row='8' titlelen='40' sort='notok'} <dd> <span>[{dede:field.typedata /}]</span> <span><a href="question.php?id={dede:field.id /}">{dede:field.title /}</a></span> </dd> {/dede:ask}
3、调用新解决问题:
{dede:ask row='8' titlelen='40' sort='ok'} <dd> <span>[{dede:field.typedata /}]</span> <span><a href="question.php?id={dede:field.id /}">{dede:field.title /}</a></span> </dd> {/dede:ask}
4、调用推荐问题:
{dede:ask row='8' titlelen='40' sort='expiredtime'} <dd> <span>[{dede:field.typedata /}]</span> <span><a href="question.php?id={dede:field.id /}">{dede:field.title /}</a></span> </dd> {/dede:ask}
5、调用高悬赏问题:
{dede:ask row='8' titlelen='40' sort='reward'} <dd> <span>[{dede:field.typedata /}]</span> <span><a href="question.php?id={dede:field.id /}">{dede:field.title /}</a></span> </dd> {/dede:ask}
方法三:修改模板文件以调用问答模块
1、进入后台修改模板:
进入DedeCMS后台,找到主页模板并进行修改,在适当的地方加入以下代码:
<div class="listbox"> <dl class="tbox"> <dt><strong><a rel="nofollow noopener noreferrer" href="http://你的网址/ask>你问我答</a></strong><span class="more"><a rel="nofollow noopener noreferrer" href="http://你的网址/ask>更多...</a></span></dt> <dd> <ul class="d1 ico3"> {dede:ask row='6' qtype='new' tid='0' titlelen='24'} <li><span class="tlink"><a rel="nofollow noopener noreferrer" href="[field:url/]">[field:title/]</a></span><li> {/dede:ask} </ul> </dd> </dl> </div>
注意将“http://你的网址/ask”替换为你的实际问答首页地址。
相关问答FAQs
1、如何在首页调用问答模块的全部问题?
回答:可以在DedeCMS的问答模块配置文件中添加自定义函数来实现调用全部问题,具体步骤如下:打开/include/tpllib/plus_ask.php
文件,找到大约在第32行或用工具查找else if($sort=='ok')
,在这之前插入以下代码:
else if($sort=='all') { $wheresql .= ' And status in (1,2) '; $orderby = ' ORDER BY dateline DESC'; }
然后在前台使用以下标签调用:
{dede:ask row='22' titlelen='80' sort='all'}...{/dede:ask}
这样就可以在首页调用问答模块的全部问题了。
2、如何调用问答模块中的特定栏目内容?
回答:可以通过在SQL语句中指定tid
字段来调用特定栏目的问答内容,要调用栏目ID为1的内容,可以使用以下代码:
{dede:sql sql="Select title, id, dateline, tid, content From #@__ask where tid=1 order by dateline desc limit 0,10"} <li> <p><img src="images.jpg" /><a href="/ask/?ct=question&askaid=[field:id/]" target="_blank">[field:title function=cn_substr(@me,60)/]</a></p> <p><img src="/images.gif" />[field:content function=cn_substr(html2text(@me),60)/]...<a href="/ask/?ct=question&askaid=[field:id/]" target="_blank">详细</a></p> </li> {/dede:sql}
这样就能成功调用指定栏目的问答内容。
序号 | 方法名称 | 参数说明 | 示例代码 |
1 | @include("include/ask_list.php") | 无,直接在模板中调用即可 | 在DedeCMS模板文件的适当位置添加上述代码即可显示问答模块内容 |
2 | 问答列表 | 0 :默认参数,表示调用所有问答;1 :当前页码;10 :每页显示的问答数量 | 在模板中添加上述代码,点击后可跳转到问答列表页面,并显示相关内容 |
3 | AskArcList() | 无,调用此函数可获取问答列表数据 | 在模板文件中添加此函数调用,并在模板中根据需要循环输出数据 |
4 | GetAskArcList() | 1 :表示获取问答列表数据;10 :每页显示的问答数量;0 :表示当前页码 | 在模板文件中添加此函数调用,并在模板中根据需要循环输出数据 |
方法均适用于DedeCMS首页调用问答模块,在实际应用中,您可以根据需要选择合适的方法进行调用。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1189712.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复