CMS 前台统一导航设计

本文介绍了CMS前台导航设计的方法,结合了exo cms portal, Mambo和IBM CMS的优点,简化了设计。通过创建TBL_CMS_NODE表来管理内容节点,包括节点类型、内容类型、布局使用等属性。同时,提供了基于路径的Use Case解析规则,以实现不同类型的页面导航和内容展示。" 135844295,18051089,华为OD机试题:采样数据过滤算法,"['编程', '算法', '华为OD', 'C++', 'JavaScript', 'Java', 'Python']
摘要由CSDN通过智能技术生成

通过对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里面

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值