【问题标题】:How to get plid of specific portlet In Liferay velocity template如何在 Liferay 速度模板中获取特定 portlet 的 plid
【发布时间】:2014-05-08 18:48:37
【问题描述】:

我正在开发MVC Portlet 并希望通过控制器通过菜单链接打开我的portlet 的特定页面。 在速度模板中,我有我的 portlet 的 portlet 名称。

我怎样才能得到那个 portlet 的 plid?

我的代码如下:

#if ($nav_item.getName().equalsIgnoreCase("specific menu link"))

#set ($myURL = $portletURLFactory.create($request,"portletname_WAR_portletnameportlet",$getterUtil.getLong($plid),"RENDER_PHASE"))
$myURL .setParameter("view","methodName") //Controller paramter
<a href="$myURL" > $nav_item.getName()</a>
#end

它将我的参数附加到当前网址并停留在当前页面上。

我已在另一个页面上添加了我的 portlet,并尝试使用硬编码的 plid,它工作正常,但对于不同的服务器会产生问题。

那么,我怎样才能让我的 portlet 在运行时在 vm 文件中使用,以便在创建 URL 时使用?

【问题讨论】:

    标签: liferay-6 liferay-velocity


    【解决方案1】:

    我们在配置中的其他位置进行了维护。 我可以给你一些提示,在 portlet 首选项中存储 PlId 值.. 在速度中通过 portlet id 获取 portlet 首选项.. 然后获取 plid。

    有时 Portlet 可能会出现在许多页面中,因此我们可能会得到多个 plid。

    根据页面名称获取 pid 在所有门户中使用相同的页面名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-07
      • 1970-01-01
      • 2012-11-27
      • 2014-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多