栏目中的数据由首页应用来确定
需要提供的接口:
1、数据列表抽取接口,该接口用来获取栏目显示的数据;
2、数据总数统计接口,该接口用来显示栏目数据的总数(如果需求显示数据总数)。
-
Package:com.seeyon.ctp.portal.section
-
解析类需要继承抽象类:com.seeyon.ctp.portal.section.BaseSectionImpl
-
Demo类示例
public class DemoSection extends BaseSectionImpl { @Override public String getId() { //栏目ID,必须与spring配置文件中的ID相同;如果是原栏目改造,请尽量保持与原栏目ID一致 return "demoSection"; } @Override public String getName(Map<String, String> preference) { //栏目显示的名字,必须实现国际化,在栏目属性的“columnsName”中存储 String name = preference.get("columnsName"); if(Strings.isBlank(name)){ return "demoSection"; }else{ return name; } } @Override public Integer getTotal(Map<String, String> preference) { //栏目需要展现总数据条数时重写 return null; } @Override public String getIcon() { // 栏目图标,暂不需要实现 return null; } @Override public BaseSectionTemplete projection(Map<String, String> preference) { //栏目解析主方法 HtmlTemplete ht = new HtmlTemplete(); StringBuilder html = new StringBuilder(); html.append("<div>DemoSection</div>"); ht.setHeight("230"); ht.setHtml(html.toString()); ht.setModel(HtmlTemplete.ModelType.inner); ht.setShowBottomButton(true); ht.addBottomButton(BaseSectionTemplete.BOTTOM_BUTTON_LABEL_MORE, "javascript:alert('ok');"); return ht; } }
-
编写好的栏目类需要在对应的插件Spring配置文件夹进行Spring注册配置。
-
约定栏目的Spring文件命名为spring-xxxx-section.xml xxxx为插件Id。
-
栏目属性对照表
Table 1.5.1. 栏目属性对照表
属性名 值域 描述 sectionType common, //常用栏目 timeManagement, //时间管理 publicInformation, //公共信息 doc, //文档栏目 formbizconfigs, //表单栏目 forum, //扩展栏目 栏目类型,空间选择栏目时栏目的分类由该属性决定 sectionCategory plan 栏目类型中的分类:常用、计划... spaceTypes Constants.SpaceType中枚举的类型 允许添加该栏目的空间类型 resourceBundle 示例:com.seeyon.v3x.main.resources.i18n.MainResources 国际化绑定来源,已废弃 properties List<SectionProperty> 栏目编辑属性
-
空间类型
/** * 空间类型,顺序不可改变 */ public static enum SpaceType { /** * 0 个性化个人空间 */ personal, //0 /** * 部门空间 */ department, //1 /** * 单位空间 */ corporation, //2 /** * 集团空间 */ group, //3 /** * 自定义团队空间 */ custom, //4 //默认的空间 /** * 默认个人空间 */ Default_personal, //5 //@Deprecated /** * 默认部门空间 */ Default_department, //6 @Deprecated Default_custom, //7 /** * 第三方系统 */ thirdparty, //8 /** * 默认领导空间 */ default_leader,//9 /** * 个性化领导空间 */ leader,//10 /** * 关联系统 */ related_system,//11 /** * 关联项目 */ related_project,//12 /** * 自定义个人空间 */ Default_personal_custom,//13 /** * 默认外部人员空间 */ Default_out_personal,//14 /** * 个性化个人自定义空间 */ personal_custom,//15 /** * 个性化外部人员空间 */ outer,//16 /** * 自定义单位空间 */ public_custom,//17 /** * 自定义集团空间 */ public_custom_group,//18 //二级主页空间 /** * 协同工作 */ cooperation_work,//19 协同工作 /** * 目标管理 */ objective_manage,//20 目标管理 /** * 公文管理 */ edoc_manage,//21 公文管理 /** * 会议管理 */ meeting_manage,//22 会议管理 /** * 协同驾驶舱 */ performance_analysis,//23 协同驾驶舱 /** * 空间模板的默认空模板类型,不是空间类型,内部使用 */ template,//空间模板的默认空模板类型,不作为空间类型使用 /** * 表单应用 */ form_application,//25 表单应用 //end }
-
Demo栏目配置示例
<bean id="demoSection" class="com.seeyon.ctp.portal.section.DemoSection" init-method="init"> <property name="sectionType" value="common" /> <property name="sortId" value="99" /> </bean>
-
栏目模板列表
Table 1.5.2. 栏目模板对照表
模板类 描述 CalendarFourColumnTemplete 日程事件的四列模板:标题 开始时间 结束时间 状态 ChessboardTemplete 棋盘式 * 左边小图标(默认16*16)+右边标题 * 上边大图标(默认32*32)+下边标题 * 标题可以有浮动菜单 ChessMultiRowThreeColumnTemplete 棋盘式 、3列 HtmlTemplete 直接输出HTML代码片断 MonthCalendarTemplate 月历式栏目 MoveMultiRowThreeColumnTemplete 多行3列滚动式 MultiIconCategoryItem 多行的,图标,分类,文本的展现形式<br> * 图表是32px * 32px的,在左边,右边的上面是分类(Category),下面是若干个项 MultiRowFourColumnTemplete 多行3列模板,依次是:subject createDate createMemberName category MultiRowThreeColumnTemplete 多行3列模板,依次是:subject createDate category MultiRowVariableColumnTemplete 成倍行,不定列 模板 * 适用于 三或四列标准列表模板满足不了需要的情况下* 可以自定义列数、宽度、单元格样式、链接地址 MultiSubjectSummary 多行的,显示标题和摘要,常用新闻、公告 OneImageAndListTemplete 图片加列表模板 * 第一列为图片居左 右边为标题加摘要 * 下面为列表 * 列表内容为 * 标题 发起时间 所属板块 * 列表参数可配置 OneItemUseTwoRowTemplete 两行展现一项 模板 * 适用于 如集团空间调查栏目 * 第1行 标题,另起一行 发布时间和类型 OnePictureTemplete 图片滚动式 OneSummaryAndMultiList 显示模式:一条显示为“标题+时间+(类别)+摘要”,下面是若干行列表 PictureTemplete 图片基础模板 PictureTitleAndBriefTemplete 标题加摘要的新闻模板