如何使用多个portlet创建公共页面布局

时间:2012-05-30 08:04:41

标签: portlet liferay-6

我是portlet开发的新手,目前正在学习liferay。

我想问一下创建网页的最佳方法是什么,例如通常要求: 1.)有头 2.)有左侧小部件 3.)有页脚 4.)左侧的内容是内容

我目前对portlet感到困惑,据我所知,portlet是独立的,无法更改页面的其他部分。所以例如我在左侧有一个有链接的portlet,如果我点击它,我将如何在正确的内容中显示动态内容?

此外,如果我在页面顶部有一个菜单,目前我从liferay添加了许多作为portlet页面。问题是我必须在每个portlet中添加左边和脚中的元素吗?有没有简单的方法呢?

谢谢,
czetsuya

2 个答案:

答案 0 :(得分:2)

您应该将这些问题单独提出,但我会尝试回答这两个问题

<强> 1。 Portlet沟通

有很多方法可以在portlet之间交换数据。这些可能是最常见,最有用和最正确的(但我可以想到更多,并且可能会有更多人能够提出一个非常具体的要求):

  • 会话属性 - 这些非常有用,但不应过度使用,因为这会对性能产生负面影响;你只需在一个portlet的动作阶段编写一些会话属性,并在另一个portlet的渲染阶段读取它们
  • 公共渲染参数 - Portlet规范的Portlet 2.0补充。这些比会话属性更有效,但需要在portlet.xml中进行其他配置。具体实现超出了本问题的范围,但您可以在互联网上找到关于该主题的许多材料。

基于您提到的另一个portlet上的操作在一个portlet中显示内容的特定情况非常常见,Public Render Parameters最适合这种情况。它可以在Liferay的本机Asset Publisher + Navigation(标记,类别)portlet中观察到。

<强> 2。布局模板

您描述的要求由Liferay中的布局模板解决。 Liferay中捆绑了相当多的内容,在使用嵌套Portlet portlet的sinergy中,您可以为许多复杂的页面布局建模。您可以为每页设置布局模板,在顶部栏中有一个用于选择它们的链接(对于管理用户)。您还可以创建自己的自定义布局模板,您可以在其中嵌入portlet。再一次,请在网上搜索 liferay嵌入portlet liferay布局模板 - 有很多很容易找到,详细说明这两个主题的信息(不能说关于每个与liferay开发相关的主题)。

答案 1 :(得分:1)

为了做到这一点,你可以创建页面布局,页面布局实际上是骨架,用作基础模板

您可以创建页面布局,选择布局模板,主题,颜色方案,添加portlet,配置它们。

每当您想要创建新页面时,只需选择页面布局,您的新页面就具有您为页面布局所做的所有配置。

当您创建内容较重的网站时,这非常有用。