基本语法: {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}这个标签就比较实用了。
详细解决方案
{dede:arclist}的学习心得,调用文章或者软件任何字段
热度:7 发布时间:2024-01-18 07:38:22.0
相关解决方案
- 织梦{ dede:listsql sql } 标签中如何给sql 语句中的条件传入栏目ID的值,跪求大神指点.
- 关于 DEDE 的 ~typeid~ 的写法的有关问题
- 求{dede:sql}标签脚本内写php原生代码的方法!解决方案
- {dede:loop}的有关问题
- dede 留言模块一次加2条记录?该怎么解决
- dedecms {dede:php}标签用法引见
- {dede:php}代码失灵原因
- 初次接触dedeCMS源代码中的宏: <php echo $cfg_templeturl; ?> {dede:global.cfg_templeturl/}
- 求{dede:sql}标签脚本内写php原生代码的步骤
- {dede:php}标签两段里变量不同?解决方案
- dede:php标签有关问题
- dede 关于自定义属性的 sql查询,该如何处理
- dede 通过php循环输出图片集图片 如何实现?
- DEDE [field:global name=autoindex/] 按序列号递加
- dede 平添自定义函数
- DEDE"模板文件不存在,无法解析文档"个中解决办法
- DedeCMS 自定义图片字段调用的有关问题解决{dede:img .}
- dede:channelartlist的应用
- dede 发布静态页面乱码有关问题
- dedecms中{dede:field name='字段名'/}跟[field:字段名 /]的区别是什么
- 织梦{ dede:listsql sql } 标签中如何给sql 语句中的条件传入栏目ID的值,跪求大神指点.
- 关于 DEDE 的 ~typeid~ 的写法的有关问题
- 求{dede:sql}标签脚本内写php原生代码的方法!解决方案
- {dede:loop}的有关问题
- dede 留言模块一次加2条记录?该怎么解决
- dedecms {dede:php}标签用法引见
- {dede:php}代码失灵原因
- 初次接触dedeCMS源代码中的宏: <php echo $cfg_templeturl; ?> {dede:global.cfg_templeturl/}
- 求{dede:sql}标签脚本内写php原生代码的步骤
- {dede:php}标签两段里变量不同?解决方案