总目录

时隔2年,再次收到本文的回复,实在惭愧,本系列竟然终止于第二章节。不从外部找原因,自从自身找缺点,一定是我写的不够好,一定是太功利了,所以决定重新回到当时的教程,完成这个时隔2年的系列。

本章目录

  • 前台模板页的编写
  • 前台模板页数据的提供

     
     

     
     

  1. 前台模板页的编写

1.1 列表页面

首先在插件目录的templet下新建一个DataBase_List.html。

文件的内容是要做一个列表页,除去head和footer,中间部分我们想做成这个样子。由于我们不是初级教程,这里页面的制作设计大量的css我们就略过了,html的内容可以直接找新闻列表页复制,我们只要对其中的几个部分做修改就可以了。譬如我们需要自己实现一个导航部分,利用ul>li,外加一些css就可以实现,这里不再展开,下面的单个数据库,类似新闻的摘要部分。右侧的分类直接同新闻列表页右侧的分类嘛。两张图一对比,就发现完全一样嘛。

----------------------------------------------------------------------------------------------------------------------------------

所以我们的html大致的框架可以做出来了,head和footer就是复制过来,右侧也是复制过来,主要要修改的就是左边那个div class="main_L"的。

----------------------------------------------------------------------------------------------------------------------------------

接下来在分析到左侧的结构,上面两个筛选框,下面一个ul>li的摘要简介列表,最下面一个分页。发现分页是现成的,摘要简介列表同新闻的部分,实现起来完全可以借鉴。

 
 

由于筛选框也是获取数据循环展示,列表部分也是获取数据循环展示,所以我们就拿UL列表部分来解释

 
 

 
 

1.2 详情页面

列表页做好之后我们再做详情页,详情页面和新闻的详情页也基本一样嘛,复制过来稍微改一改就ok了,比列表页还更省事。这里就不截图演示了。

 
 

  1. 前台页面数据的提供

2.1 通过URL配置关联前台html和后台cs代码

还记得第一节我们略过了配置文件中很大一块内容,URL的rewrite吗? 这里我们就要提前简单介绍一个部分了,就是url和后台代码的映射,这里为了避免干扰信息,我把其他的擦掉了,主要是看rewrite的部分。Name是这个页面的名字,不可和其他的重写重复,type里面可以有几个枚举,list表示列表页,details表示详情页,其他的用的不多。Page表示生成的文件名,因为DTCMS的模板引擎的工作原理是生成出aspx的文件存放在目录里,这里page必须要aspx的文件结尾。Inherit这里就是我们的重头戏,html关联的后台cs代码的命名空间了。Templet就是这个页面的模板页面。所以我们知道了前台html和后台cs的关联是在配置文件里的。也就是下面的图中所示。

 
 

2.2 提供数据的方法

所以我们在模板页里面写的这些获取数据的方法,其实呢是写在下图这个文件里的。

    <%set List<LibCMS.Domain.Stat.DataBase> dbList = FindListByPropertty(out pagelist)%>

 
 

--------------------------------------------------------------------------------------

这个文件怎么写呢,我们还是找友情链接,友情链接不也有列表页吗,我们复制过来改。所以整个cs文件没有多少行代码,只要自己写一个获取数据的方法就可以了。请注意了这个页面上所有定义的属性,如page,totalcount,pagesize这些protected的变量在模板页都是可以直接拿来用的,所以有什么要传递的值也可以放在这里,然后通过ShoPage的时候初始化就可以在html页面上直接使用了。

 
 

 
 

至此,我们就完成了前台模板页和模板页获取数据的一整套工作了。其实如果没有分页,没有筛选,没有参数的话,这个页面也就做好了。但是事实上我们碰到的问题总是比想象要复杂的多,这里我们还没有考虑到的就是参数传递的问题,我们后台页面怎么获取参数啊?dtcms提供了怎么样的参数传递方法给我们使用呢? 下一节我们继续讲url重写的部分。

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. Maven-002-eclipse 插件安装及实例

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

  6. 【eclipse插件开发实战】 Eclipse插件开发5——时间插件Timer开发实例详解

    Eclipse插件开发5--时间插件Timer开发实例详解 这里做的TimeHelper插件设定为在菜单栏.工具栏提供快捷方式,需要在相应地方设置扩展点,最后弹出窗体显示时间. 在上一篇文章里创建好了 ...

  7. Python导出Excel为Lua/Json/Xml实例教程(三):终极需求

    相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 Python导出E ...

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

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

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

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

随机推荐

  1. Python 一些有趣的技巧哦!

    #Python 技巧命令 python 如一股清流,可以说屌到飞起,下面咱就来看看一些屌的东西 ### python2 最简单的web服务 ` python -m SimpleHTTPServer 8 ...

  2. 在腾讯云上把Laravel整合万向优图图片管理能力,打造高效图片处理服务

    推荐理由: 现如今数据爆炸性增长,人类生活产出的数据越来越多,文字信息,图片信息,视频信息:但有很多信息我们都无法直接使用,需通过一定的处理,才能够获取其中对我们有用的信息,在腾讯云上的万向优图能够对 ...

  3. 数据库DML操作(DCL了解)

    DQL:SELECT * FROM 表名DML(数据操作语言,它是对表记录的操作(增.删.改)!)1. 插入数据* INTERT INTO 表名(列名1,列名2, ...) VALUES(列值1, 列 ...

  4. 常见【十种】WEB攻击及防御技术总结

    最近参加了一个WEB安全培训,感觉WEB攻击跟防御都是挺有意思的.以下总结比较简短,仅供观赏哈. 一.XSS攻击 [介绍] xss攻击是跨站脚本攻击,例如在表单中提交含有可执行的javascript的 ...

  5. flask框架+pygal+sqlit3搭建图形化业务数据分析平台

    一. 前言 先说下主要的框架和主要的图形库的特点:(个人见解) Django:python开发的一个重量级的web框架,集成了MVC和ORM等技术,设计之初是为了使开发复杂的.数据库驱动的网站变得简单 ...

  6. Object-C开发常用宏定义

    Object-C开发中宏会将经常用到的系统常量进行封装,方便使用: 1.获取通知中心 #define EYNotificationCenter(name, object, userInfo) [[NS ...

  7. SSH整合(一)hibernate+spring

    1.导入maven节点  <dependencies> //测试用的 <dependency> <groupId>junit</groupId> < ...

  8. scrollWidth,offsetWidth,clientWidth,width;scrollHeight,offsetHeight,clientHeight,height;offsetTop,scrollTop,top;offsetLeft,scrollLeft,left还有谁

    题中的那么多属性让人头都大了,他们到底是什么意思?不同浏览器的实现是一样的吗?以下所有结论来自chrome版本 53.0.2785.89 (64-bit)和firefox版本52.0.2,操作系统ub ...

  9. ajax大洋第一步

    Ajax工具包 Ajax并不是一项新技术,它实际上是几种技术,每种技术各尽其职,以一种全新的方式聚合在一起. 服务器端语言:服务器需要具备向浏览器发送特定信息的能力.Ajax与服务器端语言无关. XM ...

  10. Mybatis基础学习(四)—关系映射

    一.模型分析 user和orders user---->orders 一个用户可以创建多个订单,一对多. orders--->user 一个订单只由一个用户创建,一对一.   orders ...