2011-07-27 36 views
1

我目前正在尝试在Liferay 6.0.5的布局模板中使用Portlets,而且我遇到了一些麻烦。我尝试了以下一些教程,其中包括Liferay Wiki上提供的示例:http://www.liferay.com/community/wiki/-/wiki/Main/Add+runtime+portlets+to+a+layout#section-Add+runtime+portlets+to+a+layout-Related+Articles。问题是,这些例子都没有为我正确工作。对$ processor.processPortlet的调用什么都不做;我的布局模板生成一个空单元格。Liferay Portal:正确使用运行时Portlet - processor.processPortlet()

我在我的模板代码如下:

<div class="columns-1-2" id="main-content" role="main"> 
    #if ($browserSniffer.isIe($request) && $browserSniffer.getMajorVersion($request) < 8) 
     <table class="portlet-layout"> 
     <tr> 
      <td class="portlet-column portlet-column-only" id="column-1"> 
       $processor.processPortlet("currentPatient_WAR_opportalweb_INSTANCE_r2Be") 
       $processor.processColumn("column-1", "portlet-column-content portlet-column-content-only") 
      </td> 
     </tr> 
     </table> 

       ...... 

    #end 
</div> 

我还要强调的是,虽然在调用此portlet是一个实例,能够自定义portlet,我已经试过许多其他类型的呼叫到不支持实例的portlet,甚至还有Liferay的portlet:

$processor.processPortlet("tabs_WAR_tabsportlet") 

$processor.processPortlet("58") 

这些调用都不适用于我。

我已阅读Liferay日志,并且日志中没有与此模板相关的错误,使用此模板的页面加载,我的语法等。我在想如果这个特定调用的语法在Liferay 6中发生了变化,或者如果在我的环境中需要调整某些设置以启用此功能?如果没有对processPortlet函数的调用起作用,那么在我的Liferay配置中是否有一个特定的事情,我应该着眼于使其工作?

预先感谢您!

回答

1

我没有看到你的代码有任何问题,这应该工作。但是,你可能已经错过了,你是一个条件表达式中:

#if ($browserSniffer.isIe($request) && $browserSniffer.getMajorVersion($request) < 8) 
... 
#end 

如果你比IE6还是IE7以外的任何测试此,你将不会看到条件块

+0

感谢的内容你指出这一点,我错过了这个!将我的processPortlet调用添加到其他区域可以解决问题。多谢! –