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以其插件众多.独特.轻量以及支持大规模的网站开发闻名 ...
随机推荐
- Filestream 使用简单步骤
为了减少大文件在数据库的存储对数据库的读写效率造成的压力,多了FileStream这一个功能,下面介绍一下如何快速使用FileStream. 1.开启SqlServer实例对FileStream 的开 ...
- Confluent介绍(二)--confluent platform quickstart
下载 http://www.confluent.io/download,打开后,显示最新版本3.0.0,然后在右边填写信息后,点击Download下载. 之后跳转到下载页面,选择zip 或者 tar都 ...
- cocosstdio之字体之文本和FNT字体
FNT字体和文本字体的作用是:导入字体资源可以使用字体资源便可以使用其资源内的字体来在程序中使用 不同的是FNT字体资源内容比较少,所以个人猜想可以在特定情况下使用: 两种字体资源对比: 赋值过程对比 ...
- mongodb主从数据同步
1. 下载mongodb 下载地址:https://www.mongodb.org/dl/linux/x86_64-rhel62 2. 解压tar zxf mongodb-linux-x86_64-r ...
- C++ 笔记(一) —— 尽量以 const、enum、inline 替换 #define
ilocker:关注 Android 安全(新手) QQ: 2597294287 #define ASPECT_RATIO 1.653 记号 ASPECT_RATIO 不会进入 symbol tabl ...
- [译] 企业级 OpenStack 的六大需求(第 1 部分):API 高可用、管理和安全
全文包括三部分: 第一部分:API 高可用和管理以及安全模型 第二部分:开放架构和混合云兼容 第三部分:弹性架构和全球交付 引言 OpenStack 是构造企业级私有云的非常理想的基础.它立志成为新一 ...
- 浅析Java中的访问权限控制
浅析Java中的访问权限控制 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下为何需要访问权限控制.考虑两个场景: 场景1:工程师A编写了一个类ClassA,但 ...
- Javascript笔记----实现Page页面右下角置顶按钮.
从用博客开始,发现博客园中很多博友的博客中在Page右下角都有个图标,不论屏幕怎么拉伸,都始终停留在右下角.点击后页面置顶.后面想想写一个Demo来实现这种效果吧. 一. 图标右下角固定. 1.SS ...
- position:absolute/relative/fixed小结
1.绝对定位:position:absolute; 当一个div块的位置被定义为绝对定位absolute时,也就意味着它失去了文档流的位置,后面的文档流会紧跟着补上来接替它的位置.如果上下左右的绝对偏 ...
- ZooKeeper开发手册中文翻译(转)
本文Github地址:https://github.com/sundiontheway/zookeeper-guide-cn 本文假设你已经具有一定分布式计算的基础知识.你将在第一部分看到以下内容: ...