手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

CMS 前台统一导航设计

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

通过对exo cms portal, Mambo以及IBM的CMS也深入研究,我决定要取它们的长处,利用他们的思想,但是要简化

它们的设计。针对cms里面非常重要的前台导航,我采用以下的设计方法

/* 前台内容节点设计
note_type: 路径=0,节点=1
content_type: 静态html=1,动态脚本=2

use_layout : 是否使用布局文件,就是类似于sitemesh一样的布局,使用它可以免去定义头,脚和导航菜单
*/
CREATE TABLE TBL_CMS_NODE (
node_id int(11) unsigned NOT NULL default '0',
label varchar(255) NOT NULL default '',
path varchar(255) NOT NULL default '',
name varchar(255) NOT NULL default '',
parent_node_id int(11) NOT NULL default '0',
node_type char(1) NOT NULL default '',
content_type char(1) NOT NULL default '',
use_layout char(1) NOT NULL default '',
layout varchar(10) NOT NULL default '',
PRIMARY KEY (node_id)
) TYPE=InnoDB;

INSERT INTO TBL_CMS_NODE VALUES (1, 'index', '/', '首页', '0','1','2','n','');
INSERT INTO TBL_CMS_NODE VALUES (2, 'xxjj', '/', '学校简介', '0','0','' ,'' ,'');
INSERT INTO TBL_CMS_NODE VALUES (3, 'index', '/xxjj/', '学校简介首页','2','1','1','y','wrap');
INSERT INTO TBL_CMS_NODE VALUES (4, 'xxgk', '/xxjj/', '学校概况', '2','1','1','y','wrap');

INSERT INTO TBL_CMS_NODE VALUES (5, 'xxdt', '/xxjj/', '学校动态', '2','0','' ,'' ,'');

INSERT INTO TBL_CMS_NODE VALUES (4, 'index', '/xxjj/xxdt/', '学校动态首页文章列表', '5','1','2','y','wrap');
INSERT INTO TBL_CMS_NODE VALUES (4, 'n', '/xxjj/xxdt/', '学校动态文章', '5','1','2','y','wrap');

/*

"/cms" 下解析的Use Case
1. /cms/ 没有文件后缀的,补上index.html
2. /cms/index.html 找到路径/ 下的index
3. /cms/xxjj/index.html 找到路径/xxjj/ 下的index
4. /cms/xxjj/xxgk.html 找到路径/xxjj/ 下的xxgk
5. /cms/xxjj/xxdt/index.html 找到路径/xxjj/xxdt/ 下的index
6. /cms/xxjj/xxdt/index_1.html 找到路径/xxjj/xxdt/ 下的index,把pageno=1做为一个变量放在context里面
7. /cms/xxjj/xxdt/n00000001.html 找到路径/xxjj/xxdt/ 下的n,把00000001作为一个变量article_id=0000001放在context里面

*/

上一篇: 新建eclipse(roller2.1.1)工程到发布成功
下一篇: JSF,为什么把简单的事情复杂化?

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!