热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在DedeCMS专题页节点文档中调用自定义模型字段?

在完成DedeCMS专题页节点文章列表样式的修改后,如果需要在列表中显示自定义模型的字段,由于DedeCMS默认不支持这一功能,因此需要进行一些二次开发。本文将详细介绍如何通过修改模板文件和核心文件来实现这一需求。

在完成DedeCMS专题页节点文章列表样式的修改后,如果需要在列表中显示自定义模型的字段,由于DedeCMS默认不支持这一功能,因此需要进行一些二次开发。本文将详细介绍如何通过修改模板文件和核心文件来实现这一需求。

一、修改专题页新增模板文件

1. 打开 /dede/templets/spec_add.htm 文件,查找代码(大约在第354行):


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

频道ID:

2. 查找代码(大约在第364行):


节点容器模板:



在下面添加代码:


扩展字段:




二、修改专题页编辑模板文件

1. 打开 /dede/templets/spec_edit.htm 文件,查找代码(大约在第424行):


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

频道ID:

2. 查找代码(大约在第428行):


单条记录的模板:

在下面添加代码:


扩展字段:




3. 查找代码(大约在第369行):

$noteid = $ctag->GetAtt('noteid');

在下面添加代码:

$channel = $ctag->GetAtt('channel');
$addfields = $ctag->GetAtt('addfields');
$notetemplet = $ctag->GetAtt('notetemplet');

三、修改专题页新增/编辑核心文件

1. 分别打开 dede/spec_add.phpdede/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});

2. 查找代码(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}\r\n";

所有修改完成后,保存并上传覆盖文件。添加和编辑两个模板文件以及两个PHP处理文件都需要进行修改。完成后,专题页的文档节点页面将新增自定义模型ID和字段的输入框。然后在调用标签中填写需要调用的自定义字段即可。


推荐阅读
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • Ubuntu 22.04 安装搜狗输入法详细指南及常见问题解决方案
    本文将详细介绍如何在 Ubuntu 22.04 上安装搜狗输入法,并提供常见问题的解决方法。包括下载安装包、更新源、安装依赖项等步骤。 ... [详细]
  • DirectShow Filter 开发指南
    本文总结了 DirectShow Filter 的开发经验,重点介绍了 Source Filter、In-Place Transform Filter 和 Render Filter 的实现方法。通过使用 DirectShow 提供的类,可以简化 Filter 的开发过程。 ... [详细]
  • 使用 Mui.js 获取复选框值的方法
    本文介绍如何使用 Mui.js 框架来获取复选框的值,并通过数组进行处理和展示。 ... [详细]
  • http:blog.csdn.netzeo112140articledetails7675195使用TCPdump工具,抓TCP数据包。将数据包上传到PC,通过Wireshark查 ... [详细]
  • Spring 中策略模式的应用:Resource 接口详解
    本文探讨了在 Spring 框架中如何利用 Resource 接口实现资源访问策略。Resource 接口作为资源访问策略的抽象,通过多种实现类支持不同类型的资源访问。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • vsftpd配置(虚拟用户、匿名用户登录)
    一、ftp服务搭建(一)概述1.ftp连接及传输模式(1)控制连接TCP21,用于发送FTP命令信息 ... [详细]
  • WPF项目学习.一
    WPF项目搭建版权声明:本文为博主初学经验,未经博主允许不得转载。一、前言记录在学习与制作WPF过程中遇到的解决方案。使用MVVM的优点是数据和视图分离,双向绑定,低耦合,可重用行 ... [详细]
  • 使用Tkinter构建51Ape无损音乐爬虫UI
    本文介绍了如何使用Python的内置模块Tkinter来构建一个简单的用户界面,用于爬取51Ape网站上的无损音乐百度云链接。虽然Tkinter入门相对简单,但在实际开发过程中由于文档不足可能会带来一些不便。 ... [详细]
  • 解决Unreal Engine中UMG按钮长时间按住自动释放的问题
    本文探讨了在Unreal Engine中使用UMG按钮时,长时间按住按钮会导致自动释放的问题,并提供了详细的解决方案。 ... [详细]
  • 自然语言处理(NLP)——LDA模型:对电商购物评论进行情感分析
    目录一、2020数学建模美赛C题简介需求评价内容提供数据二、解题思路三、LDA简介四、代码实现1.数据预处理1.1剔除无用信息1.1.1剔除掉不需要的列1.1.2找出无效评论并剔除 ... [详细]
  • C#实现文件的压缩与解压
    2019独角兽企业重金招聘Python工程师标准一、准备工作1、下载ICSharpCode.SharpZipLib.dll文件2、项目中引用这个dll二、文件压缩与解压共用类 ... [详细]
  • 过去查询Mysql的时候,都见3306对所有端口开放着,感觉不安全。netstat -anlp | grep mysqltcp 0&am ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
author-avatar
嘛道理
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有