Liferay,如何在Velocity中启动某些web内容

Liferay,如何在Velocity中启动某些web内容,liferay,velocity,webcontent,Liferay,Velocity,Webcontent,我已经在这个问题上玩弄了一段时间了,我的脑子都没法想清楚。我正在使用Liferay 6.1 CE GA2 目标: 用户可编辑的内容,例如每页的页脚。我已经创建了id为12701的web内容 方法: #set ($local_temp_content = $journalContentUtil.getContent($scope_group_id, "12701", null, "$locale", $theme_display)) $local_temp_content<br />

我已经在这个问题上玩弄了一段时间了,我的脑子都没法想清楚。我正在使用Liferay 6.1 CE GA2

目标:

用户可编辑的内容,例如每页的页脚。我已经创建了id为12701的web内容

方法

#set ($local_temp_content = $journalContentUtil.getContent($scope_group_id, "12701", null, "$locale", $theme_display))
$local_temp_content<br />
#set($local_temp_content=$journalContentUtil.getContent($scope_group_id,“12701”,null,$locale“,$theme_display))
$local\u temp\u内容
问题: 它不会返回任何合理的结果。它只是打印“$local\u temp\u content”作为结果


有没有关于如何调试此问题的指针?

这是一个velocity宏,用于首先按ID从本地范围检索web内容,然后按全局范围检索:

#macro(glarticle $temp_article_id)

    #set ($temp_content = "")

    #set ($scope_group_id = $theme_display.scopeGroupId)
    #set ($global_group_id = $theme_display.companyGroupId)

    #set ($temp_content = $journalContentUtil.getContent($scope_group_id, $temp_article_id, null, "$locale", $theme_display))
    #set ($temp_content = "$!{temp_content}")

    #if ($temp_content.length() == 0)
        #set ($temp_content = $journalContentUtil.getContent($global_group_id, $temp_article_id, null, "$locale", $theme_display))
    #end

    $!{temp_content}
#end
如何使用它:

#glarticle('1234')

要调试速度,请尝试输出调用的每个部分

scope_group_id = $scope_group_id<br>
theme_display = $theme_display<br>
journalContentUtil = $journalContentUtil<br>
scope\u group\u id=$scope\u group\u id
theme_display=$theme_display
journalContentUtil=$journalContentUtil
如果您得到的是您编写的内容,则该变量不可用。
如果所有问题都已解决,则可能性为:

  • 错误的物品id
  • 文章呈现期间出现异常(您应该检查日志)

这似乎很有效,并带来了内容。我正试图让它对用户更有用,因此我使用了Tejas Kanami的代码片段:。我对此仍有异议。我不能在同一个页面上启动多个实例,因为它在每个portlet上呈现相同的内容。我尝试了不同的实例ID,但似乎对业务没有影响。