{dede:arclist}的学习心得,调用文章或者软件任何字段

softyun3年前cms教程84

基本语法:
{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语句实现的。 $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
$addField
from dede_archives arc
left join dede_arctype tp on arc.typeid=tp.ID
left join dede_addonsoft st on arc.ID=st.aid
$addJoin
where $orwhere $ordersql $limitsql";

大家仔细看一下,我这段代码和你们有什么区别,多了一个arc.keywords和st.softrank,但这样加了还不行,先讲一下keywords是怎么添加的,要在下面的代码中找到
$row['info'] = $row['description'];
然后在下面或者上面加入下面的代码,$row['keyword'] = $row['keywords'];
这样keyword就能够在{dede:arclist}标签里面调用了,如何调用呢,很简单[field:keyword]
现在明白了吧。
那么我再讲一下softrank这个字段怎么调用的呢,这里比较麻烦,没有keyword这么简单,加了就可以了,因为keyword和其他字段一样都是在dede_archives这张表里的,但是softrank你会发现不是在这个表里的,他是在dede_addonsoft这种表里的,因此就比较麻烦了,那么还要如何操作呢,看上面那段SQL语句里面,我特别放大了,那段代码left join dede_addonsoft st on arc.ID=st.aid,最后一步如何操作呢。
同样在下面的代码中找到
$row['info'] = $row['description'];
然后在下面或者上面加入下面的代码,$row[softrank] = $row[softrank];
这样softrank就能够在{dede:arclist}标签里面调用了,如何调用呢,很简单
[field:softrank function='GetRankStar(@me)'/]
大功告成!!!以后想调用什么字段随便你自己调用了,方法和上面一样。那么{dede:arclist}这个标签就比较实用了。
官方原帖:32358&2 免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

DEDECMS技巧,让未审核内容的更新时间为当前时间.

DEDECMS小技巧,让未审核内容的更新时间为当前时间.先说下为什么会用到他,现在很多站长做站都是先采集N多内容,然后每天审核一部分,但是审核的时候,那个发布时间不是最新的,还要手动去修改,很麻烦,浪...

不在同一个服务器里的dede数据库之间数据调用方法

织梦dedecms数据库不在同一个服务器,数据调用方法!data/common.inc.php这个是保存数据库连接信息的,改下这个文件就可以了。<?php  //数据库连接信息  $cfg_db...

Dedecms新手学习路线,强烈推荐!

DedeCMS不用多介绍了,这里的新手,指的是不了解DedeCMS的新人朋友。     关于学习路线,个人来说只是一个很模糊的方向,不能定位到每一步内容的学习,这里我先对各种新人进行一个简单的分析,然...

DedeCMS教程:在列表页输出当前页码相关信息

本方法原理上适用于DedeV5.3及以上所有的版本,不分编码。 这个问题来源于刚才有一位朋友的需求,他希望在列表页可以自由的调用当前栏目的一些与页码相关的信息。这个需求如果用自带的织梦标签,是无法实...

织梦Cms防黑客攻击必须要做的几件事!

织梦dedeCms防黑客攻击必须要做的几件事!以下目录:data、templets、uploads、a设置可读写不可执行权限。其中a目录为文档HTML默认保存路径,可以在后台进行更改。以下目录:inc...

防XSS,sql注射,代码执行,文件包含的通用代码

    最近因为织梦的漏洞,不少朋友用织梦建设的网站都被黑掉了,特意来分享一下模板无忧在用的一个代码,本代码可以有效防护XSS,sql注射,代码执行,文件包含等多种高危漏洞。    使用方法:    ...