`
ithero
  • 浏览: 145683 次
社区版块
存档分类
最新评论

WEB2.0站中的layout个性化定制探讨(想说web开发系列之一)

    博客分类:
  • J2EE
阅读更多

  决定也开始写博了。抽点时间整理下自己开发过程中遇到的技术问题及个人经验。这是本人《想说web开发不容易》第一篇。

   随着web2.0概念的新起.网站的功能设计越来越趋势以用户设计为中心了.为了留住用户的心,各大网站争出奇招;用户体验、易用性现在已成为各产品经理及开发人员的常用语,今天你体验了吗?

AJAX、FLEX、JFX、Silverlight各大帮派悍然争霸,正是那俗语说得好,兴、苦也咱编码,亡、也苦咱编码老百姓,这不。主流的汹风作浪,我们也开始赶躺潮流,起得早不如起得巧,今日项目组召集各位奋斗在编码一线的开发人员相聚一堂。话说咱们项目中这个博客,相册什么的,空间也该来过拖拽布局玩玩。再来过自定义模版、CSS什么的,功能咱也一个也不能少,然后再曰公司宗旨“明明白白留住用户的心”,大家一番大眼瞪小眼后,为哙这玩意儿虽说不困难,但麻烦呀,也罢,一切为了和谐。言罢归正题,这个性化定制这个过程,要涉及到三方面的内容,即主题(模版)、模块、版式.具体我们讨论它的一些主要实现思路。先声明下以下还仅为个人功能实现前的一些构思,未成熟前请勿采用。

  首要问题是版式布局:我的初步构想如,暂支持三种页面版式,三栏布局,二栏左布局,二栏右布局,CSS的第一种写法就是先把三栏的CSS都写出来,然后依据需要隐藏对应一栏的CSS,另一种写法是写三套CSS。两个方法各有千秋,请大家发表看法,如果您有好的构思,可以奉献一下大家讨论。

 版式布局无了,通常还有模块的布局。一般为了易用性及用户体验都采用拖拽模块来进行其版式布局,该功能目前已经较为常见,有些哥们也实现过。但对我来说是第一次接触。拖拽容易。但布局的记忆保存却愁坏了我,因为已经有了很多现有模版主题,现在要新增加版式布局及模块布局,兼容以前的模版真是个难题。拖拽模块后,别忘记保存其模块的排列顺序。这部分实现我的个人想法,第一种方式,关系数据库保存,首先要依据它的版式来采用。是三栏还是二栏的,一个LAOYUT表,其中主要有四个字段,(USER_ID,LAYOUT_LEFT,LAYOUT_CENTER,LAYOUT_RIGHT),然后把模块之间用空格或者逗号分隔保存到对应的边栏当中,推荐用空格间隔(理由全半角问题),第二种方式就是XML。父子节点。个性化定制实现了这两块主要的操作其它方面就开发就如苞丁解牛.说白了就是一个CSS程序化的过程。

如有不当。待大家指正,欢迎一起讨论。一起成长。

云淡风轻(MSN:aithero#hotmail.com)

 

 

分享到:
评论
3 楼 keenvi 2007-12-20  
LayoutId,User_Id,LayoutPos,LayoutCss
这个表是用来在页面由用户划分区域的,就是你所说的"三栏布局,二栏左布局,二栏右布局",一个Layout表示一栏

而DivId,User_Id,LayoutId,DivCss,DivTitle,DivContent,ReferId,IsPublic
这个表是Layout(栏)中的div,也就是Layout里面可拖动的对象
其中divcss是你所说的定义该div的样式(css,可设置各部分的css,如你所说:标题颜色,字体,背景图...)列,而DivTitle并不是样式,而是某个Div的标题,比如说,我要创建一个新闻组,那么我就可以设置该DivTitle为"实时新闻",DivContent就是内容了
也就是说,该DIV的CSS全部存放在divcss里面了
2 楼 ithero 2007-12-19  

<p>你的意思是用户针对每个模块都可单独设定CSS么?如果是的话,这样表设计的意图何在呢?如果是单个模块的自定义CSS.我们可以抽象出来两部分,一部分是模块的主题样式,如标题颜色,字体。背景图。模块背景色,背景图等等。如果要像你的表设计,我没理解错的话,就分别得对应一个字段了。个人觉得没必要,我们一个字段就可以把它的CSS全保存下来。然后针对这个字段中的CSS修改即可。事实上很多大站都是这么干的</p>
1 楼 keenvi 2007-12-19  
一个LAOYUT表,其中主要有四个字段,(USER_ID,LAYOUT_LEFT,LAYOUT_CENTER,LAYOUT_RIGHT)


LayoutId,User_Id,LayoutPos


最近我开始在写一个论坛,由于自己版面很弱(但把版面转成页面功底还可以,^_^,自我感觉CSS还学得可以),做不出精美的页面,就完全仿照javaeye的论坛风格,现在在开始论坛的编码,论坛做完后准备再开发一博客系统
其中也包括拖动,自定义的个性化,并取用右键菜单效果,更体出现人性化.

我是先做数据库,然后再做程序的.
数据库(MySql)表的设计大致(原数据库不在公司电脑上)如下:
这是一个用户页面布局容器自定义的记录表
LayoutId,User_Id,LayoutPos,LayoutCss

以下是用户创建的小窗口记录表
DivId,User_Id,LayoutId,DivCss,DivTitle,DivContent,ReferId,IsPublic(是否公开,公开后别人可调用该div中的内容,引用此DivContent即可)

其中,
DivContent我打算全部记录调用的JS(这样做是为了以后用户可以调用别人公开的内容快),例如(<script language='javascript' src='../manoeuvreJs/photo.do'></script>)

用户在设置每个窗口内容时根据系统产生的js记录到对应的窗口内容中

ReferId 为引用ID,如果该ID不为空,则取用该引用ID的对应的DivContent中内容值,同时isPublic为不公开(只有当是调用自己的内容时才可公开),否则直接取用本DivContent的值


该系统开发完后将会开源

由于是第一次用java写这种系统,性能优化方面考虑不周,届时还请各位多多指点

相关推荐

    USB2.0 layout guideline

    本文档基于《USB2.0 Board Layout Guideline》(文档号:S16438EJ3V0IF00,第三版),主要探讨了USB2.0布局设计的关键点和技术细节,是Layout工程师不可或缺的参考资料。 #### 二、电压应用波形与输入引脚 **1. ...

    USB2.0 Board Layout Guideline-NEC.pdf

    【USB2.0 Board Layout Guideline-NEC】是由日本电气股份有限公司提供的16页布局设计指导,旨在帮助工程师在设计USB2.0接口电路板时遵循最佳实践,以确保性能稳定性和兼容性。这份文档的第三版发布于2005年,包含了...

    ASP.NET2.0 WEB实时进度条

    在本文中,我们将深入探讨如何利用ASP.NET 2.0实现一个实时进度条,为用户提供更好的交互体验,提升网页的视觉效果。 首先,让我们了解什么是实时进度条。实时进度条是一种用户界面元素,它可以显示某个任务或操作...

    论文研究-基于模板和CSS技术的Web页面定制.pdf

    5. JavaScript:JavaScript是一种高级的、解释型的编程语言,是Web开发中最常用的脚本语言之一。JavaScript能够与DOM协同工作,操作DOM树中的节点,动态地修改页面内容或CSS属性,实现丰富的交互效果和用户界面定制...

    GoDiagram Web 3.0.3 for .NET 2.0 3.5

    GoDiagram Web 3.0.3 是一个专为.NET Framework 2.0和3.5设计的图形界面组件库,它提供了丰富的可视化功能,让用户能够创建和操作复杂的图表和流程图。这个组件对于开发需要图形界面展示的应用程序,特别是在Web环境...

    CSS2.0中文手册

    **CSS2.0中文手册** 是一份专门为有一定网页设计制作经验的读者编写的参考资料,旨在为用户提供关于样式表语言CSS2.0的详尽、全面且快速的索引与注释。CSS,全称为Cascading Style Sheets(层叠样式表),是用于描述...

    USB 2.0 Board Design and Layout Guidelines

    - USB系统的时钟频率是电磁干扰的主要来源之一,因此必须小心管理。 - 对于外部晶体振荡器,建议使用24MHz或更高频率的晶体作为参考时钟。 3. **USB电缆特性**: - USB电缆可以表现为单极天线,因此需要采取措施...

    EXTJS2.0中文教程 实用开发指南

    这个"EXTJS2.0中文教程 实用开发指南"是一份非常适合初学者的资源,它详细介绍了EXTJS2.0的基础知识、核心组件以及实际开发中的应用技巧。 教程首先会引导你了解EXTJS2.0的基本概念,包括MVC架构、事件处理机制以及...

    ext2.0 layout布局(使用viewport)

    ext2.0 layout布局(使用viewport),将其部署到php服务器上,可以查看效果:适合一般的应该工作界面,有滑动菜单和树形菜单等,初步实现了一个不错的应用视图框架

    USB2.0走线注意事项

    USB 2.0 是一种高速数据传输接口,广泛应用于视频设备等高速数据传输设备中。为确保高速数据传输的可靠性,USB 2.0 设备的 PCB 板设计中,差分信号线的设计是至关重要的。本文将详细介绍 USB 2.0 走线设计的注意事项...

    非常大气整洁的企业CSS模板_黑色 大气 简洁 大图 企业 web2.0 精品.zip

    这个压缩包文件“非常大气整洁的企业CSS模板_黑色 大气 简洁 大图 企业 web2.0 精品.zip”是专为创建专业且吸引人的企业网站设计的CSS模板集合。CSS(层叠样式表)是前端开发中的核心技术,用于控制网页的布局、颜色...

    USB2.0 Board Layout Guideline.pdf

    在板级设计中,USB 2.0走线设计需要遵循一系列技巧和原则来确保传输信号质量,避免干扰和信号损耗。 在USB 2.0的板级布局中,需要关注以下几个关键点: 1. 信号完整性:设计USB 2.0走线时,要确保走线尽可能短且直...

    USB 2.0 LAYOUT GUIDE

    ### USB 2.0 PCB Layout Guide 知识点解析 #### 一、USB 2.0 PCB布局概览 **1.1 USB 2.0 High Speed 讯号布局概要** - **1.1.1 走线及零件摆放原则** - **四层板设计**:推荐使用四层板进行设计。各层分布为: ...

    NET Framework2.0中文版

    总的来说,.NET Framework 2.0对于Windows开发者来说是一个重要的工具,它为开发高效、安全和跨语言的应用程序提供了强大支持。通过安装和学习这个框架,开发者可以利用其丰富的功能和易用的API来创建各种类型的应用...

    CSS 2.0中文版开发帮助文档

    在**前端开发**领域,CSS是与HTML(结构)和JavaScript(行为)并列的三大核心技术之一,对于创建美观且响应式的**网页开发**至关重要。 **CSS 2.0**引入了许多重要的概念和特性,包括: 1. **选择器**: 选择器是...

    javafx2.0 中文文档.rar

    4. **内置控件**:JavaFX 2.0提供了一系列预定义的GUI控件,如按钮、文本框、菜单、滑块等,这些控件具有丰富的样式和交互功能,可以通过CSS进行自定义外观。 5. **2D和3D图形**:JavaFX支持2D和3D图形渲染,提供了...

    css2.0中文手册&html中文手册&Oracle9i SQL 参考手册

    CSS2.0是其第二个主要版本,它在CSS1.0的基础上增加了许多新特性,如定位(positioning)、浮动(floating elements)、多列布局(multi-column layout)以及对表格、列表和图像的更精细控制。通过这本中文手册,...

    HTML5移动Web开发

    HTML5移动Web开发是当今移动互联网领域非常重要的技术之一,随着智能移动设备的普及和移动网络技术的快速发展,移动Web应用变得越来越受到重视。在这一领域,HTML5提供了一整套的技术解决方案,包括增强的HTML标记、...

Global site tag (gtag.js) - Google Analytics