1

我正在开发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,它工作正常,但对于不同的服务器它会产生问题。

那么,如何在运行时在 vm 文件中获取我的 portlet plid,以便在创建 URL 时使用?

4

1 回答 1

0

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

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

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

于 2014-05-08T10:48:37.527 回答