门户网站中新建一个“新闻”页面,该页面左边是导航:
公司简介
新闻说明
联系我们
国内新闻
国际新闻
可用导航器组件实现。
右边要求根据左边不同的子栏目显示不同的信息
如:公司简介、新闻说明、联系我们 都只有一条信息,要求显示标题、具体内容。(portlet的“内容类型”应该选择内容,然后选个默认内容即可)
而:国内新闻、国际新闻 有多条内容,要求每页显示5条内容的标题,然后根据标题链接到具体内容页面。(portlet的“内容类型”应该选择组件库,然后选择菜单组件)
如果按照上面的方法做右面会出现2个portlet,无法实现。
不同类型的站点区域映射不同的表示模板
上面情况建2个表示模板,编写模板用同一个即可
公司简介
新闻说明
联系我们
用一个表示模板里面显示标题、内容
国内新闻
国际新闻
用一个表示模板里面引入一个菜单组件即可,这个表示模板中不输出标题、内容。只是通过菜单组件来循环输出内容标题。
这样做就有缺陷了,显示多条信心标题的页面中,点击单个标题无法显示这个内容的详细信息,这个设计不出来,因为显示这个内容是通过这个内容所属的站点区域,再定位到这个站点区域的编写模板和映射模板上, 可是一个站点区域中虽然可以映射多个编写模板和表示模板,但一个编写模板只能匹配一个表示模板,
例如: 站点区域 编写模板 表示模板
a区域 a编写 a表示 (正确)
b编写 c表示 (正确)
a编写 c表示 (错误)
创建内容是只能选择一个编写模板,也就是说到一个站点区域中看这个内容最后是匹配到一个表示模板上的,那么上面的 国内新闻 栏目是个站点区域,当给它创建内容时这个内容最后只能对应一个表示模板,上面说了“这个表示模板中不输出标题、内容。只是通过菜单组件来循环输出内容标题”,所以国内新闻这个栏目只能显示多条信息的标题,显示不出单个信息的详细内容。
第二个方法
参照例子咖啡豆
左边用导航组件,所有站点区域都用同一个编写模板和表示模板。
编写模板内容有:title context 组件引用。表示模板中显示出编写模板中这3个内容。
右边“内容类型”还是选择 内容
然后针对多条和单条信息的栏目创建不同的内容。
如果是要求显示详细内容的单条信息,创建该信息时 组件引用 留空。
如果是要求显示多个标题的多个信息栏目,则给每个栏目创建一个默认的内容,默认内容不写标题和内容只用引用组件选择菜单组件。 然后再创建只有标题和内容的其它内容。
这样就就可实现上面的功能了。