首页 > 技术支撑 > 织梦学习

dedecms问答首页调用所有问题列表的方法

分类: 织梦学习  发布者: 会员:虎哥
 织梦dedecms5.7下,问答首页(ask)调用的是一些最新问题、高悬赏问题等,在实际的使用中发现,虽然各个问答栏目下调用出来了所有的问题,但是首页中并没有所有问题的调用方法。
 
    当问题过期、未解决等情况出现的时候,ask首页就不再能看到所有问题的列表了,这对用户检索或者是搜索引擎抓取来说都是不好的。解决方法就是在织梦ask首页调用出来所有问题。
 
  要解决这个问题,首先想到的php或者是直接的sql代码实现,不过效率不高,而且折腾起来挺麻烦,于是就利用了问答系统中的“推荐问题”功能,也就是说将推荐问题在问答首页调用出来即可。
 
     需要首先修改ask的首页模板,位置在/ask/templates/default下的index.html,在适当的地方加入以下代码:
  <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首页中划定了一块区域,用来显示推荐问题的列表。
 
 修改完上述代码以后,需要到后台的问答管理中,选定一些需要的问题进行推荐,所有执行了“推荐”操作的问题将会显示在首页。
  刷新问答首页即可看到列表效果,此时的问答系统中推荐的问题链接是可用的,但是栏目链接却有错误,需要修改url格式,具体设计到的标签是dede:field.typedata。
  要修改这个标签,需要找到这个位置:/include/tpllib/plus_ask.php,文件中有两处定义typedata的地方,根据URL结构做如下修改:
  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构成方式,经过上面的修改,织梦问答首页的所有问题调用就完成了。

感谢 会员:虎哥 分享文章,亦感谢文章原作者为我们提供如此优秀信息,如果此信息对您有帮助,请购买正版以支持作者!
---------------------------
此信息仅供个人学习、研究免费使用,禁止非法转播。
免责申明:本信息由 会员:虎哥 搜集整理发布,版权归原作者及发布者所有,您如有异议请 举报 或者 版权申诉
六出奇e站内部资源仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!
六出奇e站内部资源不提供任何保证,并不承担任何法律责任。
如果该信息对您的版权或者利益造成损害,请提供相应的资质证明提交 版权投诉,我们将于3个工作日内予以处理。
六出奇e站内部资源采用 BY-NC-SA 协议进行授权 转载请注明原文链接:
dedecms问答首页调用所有问题列表的方法 http://www.lcqez.com/news/59.html

嘿,我来帮您!

找不到需要的信息?请给我们留言

注意:本需求仅接收资源需求信息。
系统自动过滤不符合要求的信息!

其他信息请提交 站内信息 给技术客服!