找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1268|回复: 0

[分享] dedecms问答首页调用所有问题列表的方法

[复制链接]
发表于 2018-7-13 14:30:04 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
dedecms5.7下,问答首页(ask)调用的是一些最新问题、高悬赏问题等,在实际的使用中发现,虽然各个问答栏目下调用出来了所有的问题,但是首页中并没有所有问题的调用方法。

  当问题过期、未解决等情况出现的时候,ask首页就不再能看到所有问题的列表了,这对用户检索或者是搜索引擎抓取来说都是不好的。解决方法就是在织梦ask首页调用出来所有问题。

  要解决这个问题,首先想到的php或者是直接的sql代码实现,不过效率不高,而且折腾起来挺麻烦,于是就利用了问答系统中的“推荐问题”功能,也就是说将推荐问题在问答首页调用出来即可。

     需要首先修改ask的首页模板,位置在/ask/templates/default下的index.html,在适当的地方加入以下代码:
  1.   <div class="fl center mt10 ml10">
  2.   <dl>
  3.   <dt><span class="fl tit2 ico2">问题列表</span></dt>
  4.   <dd class="bor1 pd10">
  5.   <ul>
  6.   {dede:ask row='100' titlelen='100' sort='commend'}
  7.   <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>
  8.   {/dede:ask}
  9.   </ul>
  10.   </dd>
  11.   </dl>
  12.   </div>
复制代码

上述代码是在ask首页中划定了一块区域,用来显示推荐问题的列表。

修改完上述代码以后,需要到后台的问答管理中,选定一些需要的问题进行推荐,所有执行了“推荐”操作的问题将会显示在首页。
  刷新问答首页即可看到列表效果,此时的问答系统中推荐的问题链接是可用的,但是栏目链接却有错误,需要修改url格式,具体设计到的标签是dede:field.typedata。
  要修改这个标签,需要找到这个位置:/include/tpllib/plus_ask.php,文件中有两处定义typedata的地方,根据URL结构做如下修改:
  1.   while($row = $dsql->GetArray('an'))
  2.   {
  3.   if($row['tid2'] != 0)
  4.   $row['typelink'] = $row['typedata'] = " <a href='?ct=browser&tid2={$row['tid2']}'>{$row['tid2name']}</a>\r\n";
  5.   else
  6.   $row['typelink'] = $row['typedata'] = " <a href='?ct=browser&tid={$row['tid']}'>{$row['tidname']}</a>\r\n";
  7.   $row['title'] = cn_substr($row['title'],$titlelen);
  8.   $rearr[] = $row;
  9.   }
复制代码

实际上就是修改了问答栏目的url构成方式,经过上面的修改,织梦问答首页的所有问题调用就完成了。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-19 22:48 , Processed in 0.041288 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表