本文献给与我一样的建站新手 ,算是本人的一点经验之谈。作为一名新手站长,建站的好多知识都一知半解,就算看过某些的教程,当时自信满满,但在实际操作中,很多新问题又会接踵而至,真心让人发狂,如果没有懂这些技术的老师或朋友的帮助,我们只好选择在网上搜罗相应的答案,但是得到的很多结果多为相互之间的照搬照抄,更严重的是这个结果本身是错误的,而这样错误的答案又得以广泛的传播,无疑给我们这些新手站长带来了不少的曲折,犹如雪上加霜。以下就是本人在这个学习与成长的过程中遇到的问题之一(织梦dedecms如何做到真正的随机调取文章)
如果你在度娘上搜索这个问题时,会看到很多网站提供的答案是调用下面的这段代码:
" {dede:arclist row='1000' pagesize='10' titlelen='35' orderby='rand'}
[field:title/]
{/dede:arclist}
row='1000'代表取出1000个文章, orderby='rand'代表对这些文章随机排序, pagesize='10'代表只显示随机排序后的前十个文章。"
用上面的这段代码,我在dede5.7中测试了一下,结果并非如我所愿。这段代码显示的结果,容我举例说明。
比方说,我的一个栏目A下有100篇文章,它们每篇文章的Id是从1到100的编号,而我想要实现效果是,每篇内容页都随机抓取10篇其他文章的标题,作为在每篇内容页的“相关推荐”版块中的内容,如前几篇文章的“相关推荐”抓取了ID2到ID10的标题,**篇抓取了ID6到ID16标题,第三篇抓取了ID50到ID60标题,以此类推,栏目A下每一篇文章的标题都会出现在其他内容页面的”相关推荐“版块中。
而上面那段代码得到的结果是:随机抓取10篇文章标题,如:ID1到ID10的标题,然后在A栏目下100篇文章的每一篇文章的相关推荐中,只出现ID1到ID10的标题,**的改变只是上下排列次序的变化。
那问题出在哪里?如何做到真正的随机文章调取呢?
答案是去掉”row“,正确的调用代码如下:
{dede:arclist pagesize='10' titlelen='35' orderby='rand'}
[field:title/](注释:这里是调用文章的标题调用代码)
{/dede:arclist}
注释
pagesize='10' 这个代表生成10个标题
titlelen='35' 表示限制标题长度为35个字节(2个字节等于一个汉字)
orderby='rand' ”rand“表示抓取方式为 随机抓取
如果想抓取指定栏目下的内容要加入typeid='这里填写栏目的ID'
{dede:arclist pagesize='10' titlelen='35' typeid='5' orderby='rand'}
更后,感谢您的阅读,希望与您一起学习进步。