• 售前

  • 售后

热门帖子
入门百科

DEDECMS的{dede:arclist}怎样调用文章或软件的任何字段

[复制链接]
123456823 显示全部楼层 发表于 2021-8-16 15:45:50 |阅读模式 打印 上一主题 下一主题
关键字描述:软件 任何 文章 调用 怎样 softrank row 这个 我们 dede:arclist

{dede:arclist}的学习心得,和一些问题,和大家一起交流


基本语法:
{dede:arclist typeid='' row='' col='' titlelen='' infolen=''
imgwidth='' imgheight='' listtype='' orderby='' keyword=''}
底层模板(InnerText)
{/dede:arclist}

在我这几天做模板的过程中,发现重要问题出在“底层模板(InnerText)”

我们在做模板的时候,特别是列表页,大概本身界说的一个封面页面的时候。

在底层模板,只能调用,
底层模板字段:
ID(同 id),title,iscommend,color,typeid,ismake,description(同 info),writer,shorttitle,memberid
pubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,
arcurl(同 filename),typeurl,stime(pubdate 的"0000-00-00"格式),
textlink,typelink,imglink,image

这些字段,但是在这里是没有比力重要的几个字段,比如关键字,作者,特别是软件品级。让人非常忧郁啊。
我觉得假如可以改源代码,应该就可以把这个问题办理的,但是不清楚具体是谁人文件,谁人函数,有知道的朋友,可以提醒一下不?



上面是我在学习过程中遇到的一些问题,晚上21:55分,通过各位朋友的提醒,我找到了一些规律。
就以软件频道的品级(softrank)这个字段为例,我们在使用{dede:arclist}这个标签的时候,是不能调用这个字段的,那我们要怎样修改才气让他可以或许调用比方softrank,keyword,writer等等一些我们想调用的字段呢。我在这里举例一个softrank。下面是具体的操纵方法。

1、首先要找到{dede:arclist}这个标签对应的文件源代码,通过later提醒,找到了,就是文件inc_fun_SpGetArcList.php,你打开后,比如搜刮softrank你会发现搜到不到,因此我们就调用不到softrank了,那我们本身怎么加呢。

我们仔细看一下会发现,所有的能调用的字段,都是通过这段sql语句实现的。
Quote:
  1. $query = "Select arc.ID,arc.title,arc.iscommend,arc.color,arc.typeid,arc.ismake,arc.description,arc.pubdate,arc.senddate,arc.arcrank,arc.click,arc.money,arc.litpic,arc.writer,arc.shorttitle,arc.memberid,arc.vote,arc.postnum,arc.lastpost,arc.keywords,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,st.softrank$addFieldfrom xkzzz_archives arc left join xkzzz_arctype tp on arc.typeid=tp.IDleft join xkzzz_addonsoft st on arc.ID=st.aid$addJoinwhere $orwhere $ordersql $limitsql";
复制代码

  大家仔细看一下,我这段代码和你们有什么区别,多了一个arc.keywords和st.softrank,但如许加了还不可,先讲一下keywords是怎么添加的,要在下面的代码中找到

Copy code
  1. $row['info'] = $row['description'];
复制代码

然后在下面大概上面参加下面的代码,
Copy code
  1. $row['keyword'] = $row['keywords'];
复制代码

如许keyword就可以或许在{dede:arclist}标签内里调用了,怎样调用呢,很简单[field:keyword]

如今明确了吧。


那么我再讲一下softrank这个字段怎么调用的呢,这里比力麻烦,没有keyword这么简单,加了就可以了,因为keyword和其他字段一样都是在dede_archives这张表里的,但是softrank你会发现不是在这个表里的,他是在dede_addonsoft这种表里的,因此就比力麻烦了,那么还要怎样操纵呢,看上面那段SQL语句内里,我特别放大了,那段代码left join xkzzz_addonsoft st on arc.ID=st.aid,末了一步怎样操纵呢。

同样在下面的代码中找到

Copy code
  1. $row['info'] = $row['description'];
复制代码

然后在下面大概上面参加下面的代码,

Copy code
  1. $row[softrank] = $row[softrank];
复制代码

如许softrank就可以或许在{dede:arclist}标签内里调用了,怎样调用呢,很简单
[field:softrank function='GetRankStar(@me)'/]

大功告成!!!以后想调用什么字段随便你本身调用了,方法和上面一样。那么{dede:arclist}这个标签就比力实用了。

我发现我们dede的论坛内里很少有如许的教程介绍,希望大家学习后,大概研究后,可以或许分享出来。我想我这个东西大概很多朋友都已经知道了,假如给各位高手造成稳定,还请体贴。在这里再次感谢later的提醒。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作