08-14 9:58 修改说明:哈!我说明了会全部放出我的所有修改啊!只是目前完成的量还不多,再加上昨晚(应该说是今天早上)没有及时清理完成整个项目包,所以就为配合文章的内容,先放出web部分了。 同时,书写本系列也是纯粹为了和所有关注.subtext项目的爱好者共同探讨和交流,大家互相鼓励才是前进的动力!
  请见谅:):

  首先非常诚恳的向所有回复前两文的群友致歉,没有及时将目前修改版本的下载地址发送到所有人的邮箱,在这里统一提供下载链接地址:修改版下载。

  这些天一直在赶CategoryList的修改,也就是对随笔、文章等的分类进行修改,目前的.subtext,包括博客园所采用的版本,一直都只能对随笔或文章等设置一级分类,我想这也许能够满足大部分人群的需求了,但是根据我个人的分析,在很多场景里,多层次的分类,可以更好的组织信息。

  因为需要考虑到始终保持和.Subtext官方版本的同步,所以在修改的时候特别谨慎,尤其是对数据库的修改,尽可能的避免产生数据字段迂余。通过细致的分析,决定对subtext_LinkCategories表增加ParentID,SortOrder,以及ImageFile:
  ParentID:这个字段的作用我想大家都会非常明了;
  SortOrder:目前的分类,还没有提供排序的功能,所以增加这个字段用来实现指定顺序;
  ImageFile:现在很多的网站,都能够针对分类设置特定的图片,作为这个分类的标识,所以增加了这个功能。

  在具体实现的时候,原来以为应该比较简单,结果真正开工后,却发现需要修改的地方还真多,原来后台Add,以及Edit分类的地方基本上都挪动到另外新的页面中去了,尤其是在如何表现分类层次结构的问题上,费了不少心思,要求就是怎样既减少对数据库的访问,又能够最高效的体现分类层次,最后采取的方式是:一次性将某种形式(如随笔)的分类全部提取出来(不分层次),然后通过循环根据ParentID进行层次重组,每迭代进入更深一个层级的分类,就在分类标题前增加空格和“-”符合,从视觉上形成分类层次关系,但是实际上在html结构上,所有的分类列表都是属于<ul>标签下的同级<li>标签,呵呵呵,个人感觉后台只需要让大家看出各分类的层次关系就可以了,所以采取了这样的处理方式。

  但是前台页面中对分类的表现,就不能采取这样的呈现方式了,因为前台可能还需要对分类进行popupmenu等效果的处理,所以子分类和父分类在html结构上就必须要有明确的分离,而且还需要考虑到无限子级。

  哈哈哈,如此表述也许有些模糊,只能怪偶嘴拙了,那么有兴趣的下载最前面链接提供的目前修改版本(呵呵呵,似乎连Demo版都不算哦),看看页面效果就知道大概意思了。

  注:压缩包中包括Web项目文件夹和数据库文件,我本地数据库采用的SQLServer2008,直接附加就可以了,注意设置权限,IIS设置web访问端口为2733,这样就可以通过Http://localhost:2733/venjoy/default.aspx 访问了。对了,目前唯一Blog的用户名和密码分别是:venjoy ,123456。

  对了,同时随手将目前.subtext中的FCKEditor升级成最新的2.6.3版本了。:):

转载于:https://www.cnblogs.com/Luna/archive/2008/08/14/1267469.html

我的.Subtext二次开发之路系列:无限层次分类相关推荐

  1. 我的.Subtext二次开发之路系列:引言

    话说2007年10月,因为陈诺帮助朋友学校开发一套适用于校园的社区系统,所以在经过多方搜寻.对比的基础上,最后选择了.subtext,一是因为.subtext为.text的后续版本,第二原因是.sub ...

  2. 我的.Subtext二次开发之路系列:兵马未动,粮草先行

    <引言>得到众多群友的关注,让我感觉压力甚大,不知是否能够回报给大家尽可能高质量的完整系列.同时从反馈获知希望能够共同交流.subtext研究心得的群友不少.所以,我干脆架设了一个相关站点 ...

  3. 一文读懂TOF深度相机技术原理--TI-Tintin-OPT8241二次开发和应用系列--Theory Level

    一文读懂TOF深度相机技术原理--TI-Tintin-OPT8241二次开发和应用系列--Theory Level 转载请附上出处,本文链接:https://www.cnblogs.com/pans0 ...

  4. [毕业生的商业软件开发之路]系列文章目录规划

    目前[毕业生的商业软件开发之路]系列文章规划出的目录如下,希望靠大家一起完善它,有什么意见欢迎跟帖. 第一章 课程背景 高校毕业生就业问题 高校毕业生就业方式 第二章初入职场 课程说明 关于企业培训 ...

  5. .NET AutoCAD二次开发之路(二、直线篇)

    我以前只有一点VB的基础,C语言也只是看过,学这个CAD二次开发,也是借工作之余研究下,我到现在已经从事机械行业5年了,中国的工业设计环境区别太大,各行各业的技术现状也不尽相同,但有一点是可以肯定的, ...

  6. visio二次开发___事件篇___事件分类

    用visio进行二次开发,不免要用到事件.这里把visio对象模型的所有事件列出来,方便大家查找.第一个事件列表的是按事件名称字母排序的:第二个代码片段是根据分类来展示的.需要注意的是,控件本身有一些 ...

  7. 小飞鱼 通达OA二次开发网络课程 系列视频课程在CSDN发布

    小飞鱼通达OA二次开发网络课程  (上传完毕) http://edu.csdn.net/course/detail/4479 小飞鱼通达OA二次开发程序设计基础 http://edu.csdn.net ...

  8. C# Cad二次开发新手入门系列教程(二)Line对象

    目录 Line对象说明 创建一个Line对象 Line对象说明 Line对象为CAD中的直线,什么是直线,严格来说CAD中的直线并非数学中定义的直线,实际上CAD的直线只是一个线段而已!那么在数学上我 ...

  9. C# Cad二次开发新手入门系列教程(一)开发环境搭建

    目录 前言 开发需要做什么准备? 编写自己的第一个程序 前言 本课程主要针对刚接触Cad二次开发或者准备入门Cad二次开发的朋友,笔者是用的C#进行开发,在该系列教程内,笔者会带着大家从最基础的开发到 ...

最新文章

  1. 2017.4.6AM
  2. vs2010开发php,VS2010 下 开发C++
  3. captcha库_将CAPTCHA添加到您的GWT应用程序
  4. 第二章 Python基本元素:数字、字符串和变量
  5. 用matlab设计滤波器实验报告,数字信号出来实验报告--matlab滤波器设计
  6. 基于ZYNQ FPGA实现图像采集存储显示
  7. 关于PLSQL Developer报动态执行表不可访问,本会话的自动统计被禁止错的解决方法 .
  8. python输入圆的半径公式_【公布答案(【输入输出】练习题:Hello, C++)】
  9. Unity5.0 Shader 极简入门(一)
  10. 20考研率辉计算机复试(散列)
  11. linux 监控丢包 脚本,linux下监控网络流量的脚本
  12. 一文带你了解什么是云计算网络运维工程师,以及2023年的就业前景
  13. 用python绘制熊猫图案_在matplotlib中绘制熊猫日期
  14. “我不是坚强,我只是走投无路”,从职高到杭电、浙大、麻省计算机博士!...
  15. JSP使用EL表达式实现if,else
  16. 经验:一个秒杀系统的设计思考
  17. 制作一个属于自己的BHO吧!(C#)
  18. java excel 插入文件_Java 添加OLE对象到Excel文档
  19. 金蝶eas系统服务器地址,金蝶eas服务器地址
  20. 汇编语言王爽 实验第四章

热门文章

  1. 数据库客户端DBeaver官网下载地址
  2. 计算机SCI期刊投稿攻略(建议收藏!) - 易智编译EaseEditing
  3. 计算机职称评定认可增刊吗,核心期刊增刊评职称能用吗?
  4. 上班摸鱼神器:盯盘小工具 实时监视股票行情走势 电脑PC端
  5. 面试7轮,结果对接的HR离职了……
  6. PCIe Controller(x16)-1901驱动异常导致无法检索到独显的问题
  7. vue-infinite-scroll无限滚动组件
  8. 数据挖掘:基于关联挖掘的商品销售分析
  9. Java操作MongoDB数据库CRUD(增删查改)
  10. 寄存器(R0~R16)以及从SysTick系统时钟理解RTOS移植初始化