DTCMS插件的制作实例电子资源管理(一)插件目录结构
总目录
- 插件目录结构(一)
- Admin后台页面编写(二)
- 前台模板页编写(三)
- URL重写(四)
本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分逻辑实现一带而过,敬请谅解。
项目要求是在dtcms中增加一个电子资源管理,并且提供灵活的筛选方式。
由于涉及内容比较多,打算分4个部分来描述,内容页是我自己一点一点摸索出来的,在原有的基础上进行开发已经是第3次了,这一次对插件制作进一步理解深刻,同时通过不断的调试摸透了URL重写的规则。
本章目录
- 插件目录结构
- 新建一个插件项目
- plugin.config的设置
一、插件目录结构

首先,插件是放在web根目录下的plugin目录下,plugin目录下每一个目录代表一个插件,每个插件下至少包含admin目录,bin目录,templet目录,以及一个plugin.config文件。
建好的项目就如下所示:

二、新建一个插件项目
1.新建项目
首先是在vs中新建一个类库项目,DTcms.Web.Plugin.DataBaseManager,位置在dtcms的web目录的plugins目录里。

然后添加引用,首先是项目内部的引用,如bll、common、db、model、ui这几个,还有一个是.Net的 system.web


2.修改项目文件夹名字
为了能够让dtcms识别这个插件,我们需要把文件夹名字改一下,那么先暂时卸载这个插件项目,我们需要到文件夹中去改一下文件夹名字。

重命名这个文件夹,叫DataBaseManager

然后再把这个项目给添加回来,

3.设置项目生成属性
右键项目—属性—生成,输出路径,主要是为了方便调试,不用每次都把生成的dll放到web\bin\目录中。

4.按照规则建立目录
首先我们需要admin目录、templet目录,新建目录比较简单,比较麻烦的是新建一个web页面,因为我们是类库项目,无法新建aspx的页面,而后台需要用aspx页面,所以我们从别的地方复制一个aspx页面过来。

然后需要修改一下类名称
Aspx页面:

Aspx.cs文件:

Aspx.designer.cs文件

然后删掉所有报错的代码,因为我们都要自己重写的。
至此我们都 项目就建立好了。
三、plugin.config的设置
为了能够让dtcms后台能识别插件,需要设置plugin.config。首先来了解一下plugin.config的格式

这里是我写好的config

这里主要介绍3个地方:
- 第一行目录,一定要和你的目录名字保持一致,就是web/plugins/DataBaseManager中的最后一级目录保持一致,接下来几个配置项影响不大。Isload一开始要写0,不然就无法安装了;
- 安装sql那个部分,可以把create table的sql放进去,卸载sql部分可以吧drop table的sql放进去,我这里就不做演示了;
- 最后nav那里是配置后台的,name随便写,title是后台显示的名字,url就写admin/index.aspx,然后后台配置的列表页就是admin/index.aspx了,action有几个取值,具体如下图

这样就建立好了一个完整的插件,接下来就可以到后台看效果了,我们就可以安装新建的插件了

DTCMS插件的制作实例电子资源管理(一)插件目录结构的更多相关文章
- DTCMS插件的制作实例电子资源管理(二)Admin后台页面编写
总目录 插件目录结构(一) Admin后台页面编写(二) 前台模板页编写(三) URL重写(四) 本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分逻辑实现 ...
- DTCMS插件的制作实例电子资源管理(三)前台模板页编写
总目录 插件目录结构(一) Admin后台页面编写(二) 前台模板页编写(三) URL重写(四) 本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分逻辑实现 ...
- DTCMS插件的制作实例电子资源管理(四)URL重写
总目录 插件目录结构(一) Admin后台页面编写(二) 前台模板页编写(三) URL重写(四) 本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分逻辑实现 ...
- Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例
引言 Cordova(PhoneGap)采用的是HTML5+JavaScript混合模式来开发移动手机APP,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用 ...
- Smint – 用于单页网站制作的 jQuery 导航菜单插件
Smint 是一款用于实现单页风格网站的 jQuery 导航插件,包含两部分:固定在页面顶部的精美导航条和能够在你点击的时候自动滚动到对应内容的菜单按钮.Smint 使用非常简单,只有一个参数用于设置 ...
- Maven-002-eclipse 插件安装及实例
因为平常编码的时候,习惯了使用 eclipse 进行编码,因而需要将 eclipse 安装 maven 的插件,安装步骤如下所示: 一.安装 选择菜单: help -> Install New ...
- Swift 制作一个新闻通知中心插件1
使用 Swift 制作一个新闻通知中心插件(1) 随着 iOS 8 的发布,苹果为开发者们开放了很多新的 API,而在这些开放的接口中 通知中心插件 无疑是最显眼的一个.通知中心就不用过多介绍了,相信 ...
- JQuery实用技巧--学会你也是大神(1)——插件的制作技巧
前 言 JRedu 学习之前,首先我们需要知道什么是JQuery? JQuery是一个优秀的javascript框架. JQuery是继Prototype之后又一个优秀的Javascript框架 ...
- 40款非常棒的 jQuery 插件和制作教程(系列一)
jQuery 在现在的 Web 开发项目中扮演着重要角色,jQuery 让网站有更好的可用性和用户体验,让访问者对网站留下非常好的印象.jQuery以其插件众多.独特.轻量以及支持大规模的网站开发闻名 ...
随机推荐
- MySQL-procedure(loop,repeat)
在 MySQL-procedure(cursor,loop) 中将spam_keyword表中的文字全部分割到t表当中,且每一行的字都不重复,那t表可以用来当作一个小字典,只有1000来个字符,这次把 ...
- Hello, AnnsShadow!
Hello! 发现这个神奇的园子快一年了,自己的学习历程磕磕碰碰也过了一年了,想想,这么久了,是时候做些记录做个分享者了. 从一开始的只敢看Blog,到现在自己发表一下自己的所感所想,算是一种成长了吧 ...
- UDT中的epoll
epoll 是为处理大量句柄而改进的poll,在UDT中也有支持.UDT使用了内核提供的epoll,主要是epoll_create,epoll_wait,epoll_ctl,UDT定义了CEPollD ...
- raspberry pi2 智能小车源码及测试视频
作者:XIAOBO QQ:463431476 转载请注明作者Python 源代码 import RPi.GPIO as GPIO #human-computer-interaction import ...
- 利用网络流传的WebShell默认密码库寻找WebShell
声明:本文提到的技术,仅可用作网络安全加固等合法正当目的.本文作者无法鉴别判断读者阅读本文的真实目的,敬请读者在本国法律所允许范围内阅读本文,读者一旦因非法使用本文提到技术而违反国家相关的法律法规,所 ...
- 理解 OpenStack + Ceph (7): Ceph 的基本操作和常见故障排除方法
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
- [转]NopCommerce之旅: 应用启动
本文转自:http://www.cnblogs.com/devilsky/p/5359881.html 我的NopCommerce之旅(6): 应用启动 一.基础介绍 Global.asax 文件 ...
- AC小笔记
1:基本库函数的使用 Rand()函数,可以产生0~32767之间的随机数. a+rand()%(b-a) 可以得到 [a,b] 之间的随机数. 2:基本数据类型的使用 可以使用强制类型转换 例如: ...
- using关键字的用法
1.using 关键字可以用来导命名空间,与java中的import类似. 2.using关键字可以用来释放资源,并且被释放的资源代码是非托管代码. 既然可以释放非托管代码,那么什么是非托管代码? 我 ...
- 深入探讨 java.lang.ref 包
深入探讨 java.lang.ref 包 本文主要探讨了 java.lang.ref 包的使用方法,以及源码解读.并就该包在不同 JVM 上的表现进行了比较与分析.通过阅读本文,读者可以加深对 jav ...