Layout Liferay门户:正确使用运行时portlet——processor.processPortlet()

Layout Liferay门户:正确使用运行时portlet——processor.processPortlet(),layout,runtime,liferay,portlet,portal,Layout,Runtime,Liferay,Portlet,Portal,我目前正在尝试在Liferay 6.0.5的布局模板中使用portlet,但遇到了一些问题。我尝试了以下一些教程,包括Liferay Wiki上提供的示例:。问题是,这些例子对我来说都不正确。对$processor.processPortlet的调用不起任何作用;我的布局模板将生成一个空单元格 我的模板中的代码如下所示: <div class="columns-1-2" id="main-content" role="main"> #if ($browserSniffer.i

我目前正在尝试在Liferay 6.0.5的布局模板中使用portlet,但遇到了一些问题。我尝试了以下一些教程,包括Liferay Wiki上提供的示例:。问题是,这些例子对我来说都不正确。对$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>
这些电话对我都不管用

我已经查看了liferay日志,与此模板、使用此模板加载页面、我的语法等相关的日志中没有错误。我想知道liferay 6中此特定调用的语法是否已更改,或者我的环境中是否需要调整某些设置以启用此功能?如果对processPortlet函数的调用不起作用,那么在我的Liferay配置中是否有一个特定的东西需要我查看以使其起作用


提前谢谢你

我认为您的代码中没有任何问题,这应该可以工作。但您可能没有注意到您在条件表达式中:

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

如果您使用IE6或IE7以外的任何东西测试此功能,您将看不到条件块的内容

我看不到您的代码中有任何问题,这应该可以工作。但您可能没有注意到您在条件表达式中:

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

如果您使用IE6或IE7以外的任何其他工具进行测试,您将看不到条件块的内容

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