总目录

本实例旨在以一个实际的项目中的例子来介绍如何在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个地方:

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

     
     

     
     

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

DTCMS插件的制作实例电子资源管理(一)插件目录结构的更多相关文章

  1. DTCMS插件的制作实例电子资源管理(二)Admin后台页面编写

    总目录 插件目录结构(一) Admin后台页面编写(二) 前台模板页编写(三) URL重写(四) 本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分逻辑实现 ...

  2. DTCMS插件的制作实例电子资源管理(三)前台模板页编写

    总目录 插件目录结构(一) Admin后台页面编写(二) 前台模板页编写(三) URL重写(四) 本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分逻辑实现 ...

  3. DTCMS插件的制作实例电子资源管理(四)URL重写

    总目录 插件目录结构(一) Admin后台页面编写(二) 前台模板页编写(三) URL重写(四) 本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分逻辑实现 ...

  4. Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例

    引言 Cordova(PhoneGap)采用的是HTML5+JavaScript混合模式来开发移动手机APP,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用 ...

  5. Smint – 用于单页网站制作的 jQuery 导航菜单插件

    Smint 是一款用于实现单页风格网站的 jQuery 导航插件,包含两部分:固定在页面顶部的精美导航条和能够在你点击的时候自动滚动到对应内容的菜单按钮.Smint 使用非常简单,只有一个参数用于设置 ...

  6. Maven-002-eclipse 插件安装及实例

    因为平常编码的时候,习惯了使用 eclipse 进行编码,因而需要将 eclipse 安装 maven 的插件,安装步骤如下所示: 一.安装 选择菜单: help -> Install New  ...

  7. Swift 制作一个新闻通知中心插件1

    使用 Swift 制作一个新闻通知中心插件(1) 随着 iOS 8 的发布,苹果为开发者们开放了很多新的 API,而在这些开放的接口中 通知中心插件 无疑是最显眼的一个.通知中心就不用过多介绍了,相信 ...

  8. JQuery实用技巧--学会你也是大神(1)——插件的制作技巧

      前  言 JRedu 学习之前,首先我们需要知道什么是JQuery? JQuery是一个优秀的javascript框架. JQuery是继Prototype之后又一个优秀的Javascript框架 ...

  9. 40款非常棒的 jQuery 插件和制作教程(系列一)

    jQuery 在现在的 Web 开发项目中扮演着重要角色,jQuery 让网站有更好的可用性和用户体验,让访问者对网站留下非常好的印象.jQuery以其插件众多.独特.轻量以及支持大规模的网站开发闻名 ...

随机推荐

  1. 文件件监听器,android系统拍照功能调用后删除系统生成的照片

    先说说要实现的功能: android调用系统拍照功能实时 预览 删除 上传 保存 (用户不能再本地文件夹中看到拍的照片) 再说说遇到的问题: 1.调用系统拍照在系统自带的拍照文件夹中生成一张随机命名图 ...

  2. js 获取json串中的值

    用js中著名的eval函数var strJSON = "{name:'json name'}";//得到的JSONvar obj = eval( "(" + s ...

  3. PS网页设计教程——30个优秀的PS网页设计教程的中文翻译教程

    PS网页设计教程--30个优秀的PS网页设计教程的中文翻译教程   作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,"熟读唐诗三百首,不会作 ...

  4. 3、eclipse和maven环境安装以及HDFS读写的demo

    安装eclipse和maven环境   $ mkdir /home/beifeng/.m2 $ tar zxf repository.tar.gz -C /home/beifeng/.m2 $ /co ...

  5. 数据库 SQL Server 到 MySQL 迁移方法总结

    最近接手一起老项目数据库 SQL Server 到 MySQL 的迁移.因此迁移前进行了一些调查和总结.下面是一些 SQL Server 到 MySQL 的迁移方法. 1. 使用 SQLyog 迁移 ...

  6. 关于InnoDB的Next-Key lock

    最近一段时间在准备新员工培训的材料,本来打算介绍介绍概念就OK的,但是既然写了事务的章节,就特别想介绍一下锁,介绍了锁,就忍不住想介绍一下Next-Key Lock. 大家知道,标准的事务隔离级别有R ...

  7. Redis安装和配置

    1.下载安装redis 在linux服务器上,命令行执行以下命令(cd ./usr local/src 一般源码放在这里(推荐源码安装)) wget http://download.redis.io/ ...

  8. Android 实现ListView不可滚动效果

    希望得到的效果是ListView不能滚动,但是最大的问题在与ListView Item还必有点击事件,如果不需要点击事件那就简单了,直接设置ListView.setEnable(false); 如果还 ...

  9. 初探linux内核编程,参数传递以及模块间函数调用

    一.前言                                  我们一起从3个小例子来体验一下linux内核编程.如下: 1.内核编程之hello world 2.模块参数传递 3.模块间 ...

  10. Andorid 6连接Libreswan L2TP VPN

    手机升级到Android 6以后,以前正常使用的L2TP VPN却无法连接了.服务器端日志: "vpnpsk"[119] 114.249.245.192 #240: no acce ...