现有需求做一个在现有综合信息平台上挂类似QQ弹出的"迷你首页"功能的小看板,该看板主要是显示平台下各个子系统的重要信息。在其设计过程中有一个很复杂的需求是,这看板的内容需要用户自己来定制。定制方式客户提出的要像QQ空间定制自己的主页一样方便。比QQ还复杂的是页面结构是自己画的,QQ是自己选择整个页面框架形式。我现在遇到的问题是 怎么可以让用户自己设置一个模板来控制这个看板显示N行N列? 然后如何将内容定制到这个单元格中?我们子系统提供的内容都以URL的方式iframe到单元格中 这个没什么复杂的,自己能够搞定。但是我现在郁闷的是如何让用户自己做这个页面框架,如何定制?希望高手解答一下,分不够我们再追加。

解决方案 »

  1.   

    我现在遇到的问题是 怎么可以让用户自己设置一个模板来控制这个看板显示N行N列? 然后如何将内容定制到这个单元格中?用div+JS用层控制,每个模板一个div用户选择哪个就显示其它隐藏我们子系统提供的内容都以URL的方式iframe到单元格中 这个没什么复杂的,自己能够搞定。
    考虑下AJAX
      

  2.   

    不知道楼上大哥 是否有玩过QQ空间,里面可以自己设定版面/布局方式 如下图:
    QQ空间这个布局是用户自己选择的,我们要做的是用户自己设计 他想怎么样就怎么样。然后设计好这个布局之后再将具体的URL加入到每个格局中。
      

  3.   

    再加一个表如何:表结构大概这样该用户定制了哪些模板
    模板的高度
    模板的宽度
    模板距离页边的距离
    模板样式的名字
    模板样式的其它一些信息
    这个模板引用哪个子系统
    ...===========================
    在页面上使用可拖动, 可拉动大小的 div, 使用 jquery ajax 传输数据
      

  4.   

    临时改变布局只要用DIV+JS控制
    如果要记住布局即用户下次登录选择最近登录的布局。(类似于QQ)我的方法是:
    你可以设置多个风格不同的页面
    记录用户选择的(数据库记录页面的地址-网页(模板)相对地址)运行时候是用户选择的(eg:也就是相当于多个登录页面,如果有权限设计可能数据库要加个字段判断了)
      

  5.   

    是不是可以参考 iGoogle 的做法?
      

  6.   

    不管是igoogle还是qq空间 他们div这一块一块的内容都是固定在一个布局框架中,例如一个 3:2:1的页面我目前最主要的是用户如何自己来设计一个3:2:1的模板 然后再选择内容,我再动态生成div然后供用户调整位置 之后保存坐标。
      

  7.   

    是不是说你要一开始就一个画面,空的模板,由用户自己设置比例,可以拉动左右的距离比例和添加列数?
    那很复杂,js可以做,要把对方最后拖动的左边记录下来,还要考虑到各个显示器之间的显示问题
    我以前做过一个类似的是定死最外面大小的,比如就给他一个800*600,要是你想由对方来的话控制左右距离的坐标线,其实就是x轴在各个显示器下的位置你慢慢想把,我不知道该怎么继续了
      

  8.   

    这个复杂了不知道这样可行否?在用户设计的空白页边上放个工具箱,工具箱里面有页面上的组件,比如说:小 Portal,小图片之类的,用户可以从里面拖出来,
    任意放到空白页面上,大小由自己改动,他想怎么摆就怎么摆。当然了,你所有可供显示的组件都得放在工具箱中,供他们拖,拖走一个之后,工具箱那里就没了,也可以从面板上拖回到工具箱中去。点保存后,把所有的相关参数:X、Y 值、大小、组件全部存到表中去。
      

  9.   

    写一个模块,可以动态生成div,建议最好用jQuery做,优点在于方便定位,快速创建元素
    比如说你要创建一个3:2:1的布局你就可以这样
    $("<div>").css("width",60%).appendTo($(document.body));
    $("<div>").css("width",30%).appendTo($(document.body));
    $("<div>").css("width",10%).appendTo($(document.body));当然你也可以根据自己的需要动态的去设置css样式,以及位置等。。
      

  10.   

    这个就是javascript的功能了,建议网上搜索。
    试试这个:http://www.longboo.com/Samples/
      

  11.   

    同意,可以事先做好固定的一些模板,自由的话,可以考虑ajax dom,进行用户自由定制,我也没做过,大概说法自己的想法!
      

  12.   

    我项目中与你要求类似,我用了一个笨而有效的方法是:
    <div><IFRAME></IFRAME></div>
      

  13.   

    我现在遇到的问题是 怎么可以让用户自己设置一个模板来控制这个看板显示N行N列? 然后如何将内容定制到这个单元格中?这个听起来有点意思,想简单做就有点难了,说下自己的想法吧。我的想法是这样:能不能在你的看板上放一个编辑的按钮或是可以点进去进行编辑的。用户再在里面设定自己想要看 的板块,每个板块最多显示多少条信息,提交后保存到数据库中,下次再登录时取出上次用户编辑好的看板。楼主要做的就是做多一个表来保存,比如表结构是这样:
    boardId   boardName   row    column
       1        a         5        2 
       2        b         5        2
      

  14.   

    一是数据记录
    二是模板选取
    三是模板数据形式
    ----------------------
    一是数据记录---DB
    二是模板选取--DIALOG
    三是模板数据形式--XML
    ----------------------
    废话也不多说了!
    给你个快速的方法!!下载 fckeditor
    \fckeditor\editor\dialog\fck_template.html
    ----------------------------------------
    上面有一部分显示的方法。但是没有定制功能!
    你把定制功能写完改改形式估计就行了!!
    200分我就不要了!!哈哈!!
      

  15.   

    布局用ajax就可以实现,实现用户自定义只要将用户的设置保存到数据库里面就行了
      

  16.   

    这个功能我的技术boss做过,他用的fckeditor,自己写代码遍历jsp文件中的table,tr ,td,这样就可以自定义布局。这个功能感觉就是个DreanWeaver。
      

  17.   

       用户自定义,你可以描述一下,让用户输入一些什么信息吗?
       比如说:他输入3行,2列等等,你就产生一个3行2列的表格,再将信息放进去?
       如果这样,动态生成表格(或者DIV),根据动态表格的左上角,要有一个xml文件来记录每个单元格的左上角和右下角点的坐标位置,表格的单元格ID要有规律,比如:hcel1,hcel2,然后根据用户拖的信息鼠标弹起时候的鼠标位置,再用刚才记录的单元格的位置,来判断应该放在哪个单元格内.然后再根据内容的益,修改xml文件中单元格的坐标.
      这样的话,表格也可以随用户拖动,他愿意放在什么地方就可以放在什么地方,也一样是记录坐标点. 用div也是一样的道理.
      
       
      

  18.   

    用div + table +css 然后在 html中window.open()出来应该可以的.
      

  19.   

    给楼主提个建议,能不能用复选框,让用户来选择他们的风格、样式、板式然后进行组合,这样一个个性平台上客户关注的信息就被他选定并显示出来了,比如Google的自定义首页
      

  20.   

    你让用户自定义模板的话真的是太麻烦了,应该把难度降低一下,定制固定的模块,每个模块选取top10信息(根据时间)或者top5条信息(如果用户选取的模块数目很多的话),以及top20条(如果选择非常少的话),和美工以及老总商量商量,一个软件,有的人显示的是一行一列,有的人显示的是二十行二十列,看着就很杂乱,显得不够专业,最好的是这个东西显示的是大小长宽固定的,那样的话看着也舒服,也显得专业技术的话,根据用户选择的模块,选择相应的top信息显示,select top 10 news from news order by time 这个不用说了吧?一家之言
      

  21.   

    这个这个  我见过朋友的公司网站是那样的,听他说都是几个JS高手来做的,DIV+AJAX  俺是不顶
    关注
      

  22.   

    可以用jquery的插件 
    演示
    http://nettuts.s3.amazonaws.com/127_iNETTUTS/demo/index.html 
    下载
    http://nettuts.s3.amazonaws.com/127_iNETTUTS/source.zip 
      

  23.   

    微软自带的WEBparts好像能自动保存客户的模版框架结构。。可以自己随便拖动的。并且下次登录能自动保存
      

  24.   

    个人感觉,这个如果让用户完全定制(包括窗口大小,N行M列,单个窗口大小等的定制),不管从技术还是用户使用来说,都是复杂的。重要的是,用户的需求是获得想要了解的信息。我相信用户都很懒,如果他想看信息却要配半天的窗口,感觉很烦。用户应该不是像我们这样的人,会有耐心去搞这些东西吧。而且,用户自定义还会使界面更加杂乱,信息量的变化,定制模块的数量,以及排列这些东西会影响到用户体验 。所以感觉应该像QQ的弹出新闻那样,窗口大小,窗口中每个小模块信息量,窗口布局不由用户定制。而是将信息分类,为每个分类制作一个页面,布局按信息量,信息内容来做,使界面美观有保证。用户的定制是很简单的,只需要增加分类,或者减少分类就OK了。这样做会需要更多的分析你的数据,哪些是用户必须了解且关心的,这些数据信息必须的会显示,这是当然的原则。看了上面你发的那个图,你不就是这样来做的吗?用户一个分类,就多一个页面选择
      

  25.   

    如果是我做,我会在页面内添加一个按钮,点击创建一个动态DIV,大小,坐标都可以改变,DIV里面有所需要的参数
    可以选择为1级别里的菜单内容『列表1』||『列表2』....
    然后再动态生成2级别菜单【你的内容标题】,现实的【行数】
    每个DIV可以设定一个提交按钮或者一起提交创建3个表
    1】主键-列表名
    2】主键-1】主键-内容标题-URL-LENGTH-WIDTH-HIGH-LEFT-TOP-N行-N列
    3】列表主键-2】主键-内容-url
      

  26.   

    可以使用javx 通过div来实现
      

  27.   

    但是我现在郁闷的是如何让用户自己做这个页面框架,如何定制? 
    -------------------------------------------------------无规矩不成方圆。首先确定 个性表现 需要 模板实现,在通过选择和编辑不同的模板 来实现界面的个性化。你自己要提供多套 模板,并可以添加和 修改。 具体实现 参考cms,其实很简单。
      

  28.   

    是B/S构架吗?如果是的话让客户自己来实现不太可行,最好的办法是功能都写死让客户进行界面内容选择。要是B/S结构你不可能让客户创建界面啊
      

  29.   

    是B/S构架吗?如果是的话让客户自己来实现不太可行,最好的办法是功能都写死让客户进行界面内容选择。要是B/S结构你不可能让客户创建界面啊