织梦DEDECMS专题页节点文档怎么调用自定义模型字段?

如玉的白玫瑰冰雪纯洁,闪烁着月光般寒冷的色彩玫瑰乱舞,勾勒出你的身形,你的容貌。想看日出,想看日落,想看世间每一处角落。

修改完DedeCMS专题页节点文章列表样式之后,又遇到一个难题,因为专题页的节点文章发布在自定义模型里,我要在列表中把我自定义的字段也调用出来,DedeCMS默认是不显示的,需要实现这个功能就要进行二次开发了,搜索了好久,整理出一个完美的解决方法:

一、修改专题页新增模板文件,打开/dede/templets/spec_add.htm,查找代码(大概在第354行):

<input name="rownum<?php echo $i?>" type="text" id="rownum<?php echo $i?>" value="10" size="3">

在下面添加代码(value 的值就是自定义模型频道ID):

频道ID:<input name="channel<?php echo $i?>" type="text" id="channel<?php echo $i?>" value="17" size="3">

查找代码(大概在第364行):

<tr>

<td>节点容器模板:</td>

<td colspan="2"><input name="notetemplet<?php echo $i?>" type="text" id="notetemplet<?php echo $i?>" value="system/channel_spec_note.htm" >

<input type="button" name="selno<?php echo $i?>" value="浏览..." onClick="SelectTemplets('form1.notetemplet<?php echo $i?>');"></td>

</tr>

在下面添加代码:

<tr>

<td>扩展字段:</td>

<td colspan="2">

<input id="addfields<?php echo $i?>" type="text" name="addfields<?php echo $i?>" value="<?php echo $addfields?>"/>

</td>

</tr>

二、修改专题页编辑模板文件,打开/dede/templets/ spec_edit.htm,查找代码(大概在第424行):

<input name="rownum<?php echo $i?>" type="text" id="rownum<?php echo $i?>" value="<?php echo $rownum?>" size="3">

在下面添加代码(value 的值就是自定义模型频道ID):

频道ID:<input name="channel<?php echo $i?>" type="text" id="channel<?php echo $i?>" value="17" size="3">

查找代码(大概在第428行):

<tr>

<td colspan="2">单条记录的模板:<br/>

<textarea name="listtmp<?php echo $i?>" rows="3" id="listtmp<?php echo $i?>" ><?php echo $temp?></textarea></td>

</tr>

在下面添加代码:

<tr>

<td>扩展字段:</td>

<td colspan="2">

<input id="addfields<?php echo $i?>" type="text" name="addfields<?php echo $i?>" value="<?php echo $addfields?>"/>

</td>

</tr>

查找代码(大概在第369行):

$noteid = $ctag->GetAtt('noteid');
在下面添加代码:
$channel = $ctag->GetAtt('channel');
$addfields = $ctag->GetAtt('addfields');
$notetemplet = $ctag->GetAtt('notetemplet');

三、修改专题页新增/编辑核心文件,分别打开 dede/spec_add.php和dede/spec_edit.php,查找代码(spec_add.php 文件中大概在第114行,spec_edit.php 文件中大概在第170行 ):

$listtmp = trim(${'listtmp'.$i});

在下面添加代码:

$addfields = trim(${'addfields'.$i});
$notetemplet = trim(${'notetemplet'.$i});
$infolen = trim(${'infolen'.$i});
$channel = trim(${'channel'.$i});

查找代码(spec_add.php 文件中大概在第148行,spec_edit.php 文件中大概在第238行 ):

$notelist .= "

将这段代码修改为:

$notelist .= "{dede:specnote notetemplet='$notetemplet'imgheight='$imgheight'imgwidth='$imgwidth'
infolen='$infolen'titlelen='$titlelen'col='$col'idlist='$okids'
name='$notename'noteid='$noteid'isauto='$isauto' rownum='$rownum'
keywords='$keywords'typeid='$typeid'addfields='$addfields'}
$listtmp
{/dede:specnote}rn";

都修改完毕后保存上传覆盖, 添加和编辑两个模版和两个PHP处理文件都要修改,不要忘了,完成后,专题页的文档节点页面会新增自定义模型id和字段的输入框:

然后在调用标签里把自己想要调用的自定义字段写进去就可以了。

本文织梦DEDECMS专题页节点文档怎么调用自定义模型字段?到此结束。生活的情况越艰难,我越感到自己更坚强,甚而也更聪明。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
织梦后台文档列表添加复制文档功能支持所有模型

织梦无法上传ico图标格式文件的如何解决方法

dedecms如何实现任意页面调用当前会员信息的方

织梦dede:tag调用指定多个栏目的TAG标签

织梦栏目列表按附加表自定义字段排序