栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP > php开源框架 > dedecms

织梦专题页节点文档调用自定义模型字段方法

dedecms 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

织梦专题页节点文档调用自定义模型字段方法

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

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

  

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

  频道ID:

  

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

  

  节点容器模板:

  

  

  

  在下面添加代码:

  

  扩展字段:

  

  

  

  

  

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

  

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

  频道ID:

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

  

  单条记录的模板:

  

  

  在下面添加代码:

  

  扩展字段:

  

  

  

  

 

 查找代码(大概在第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和字段的输入框:

  

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


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/7866.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号