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

时间:2014-01-02 08:21:33

标签: liferay velocity webcontent

我一直在玩这个问题已经有一段时间了,不能让我的头脑缠绕它。我正在使用Liferay 6.1 CE GA2。

目标:

用户可编辑的内容,例如每页中的页脚。我创建了id为12701的网络内容。

方式

#set ($local_temp_content = $journalContentUtil.getContent($scope_group_id, "12701", null, "$locale", $theme_display))
$local_temp_content<br />

问题: 它不会返回任何合理的东西。它只是打印“$ local_temp_content”作为结果。

如何调试此问题?

2 个答案:

答案 0 :(得分:1)

这是一个速度宏,用于首先通过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')

答案 1 :(得分:0)

为了调试速度,请尝试输出通话的每个部分。

scope_group_id = $scope_group_id<br>
theme_display = $theme_display<br>
journalContentUtil = $journalContentUtil<br>

如果你得到了你所写的内容,那么该变量就不可用了 如果一切都解决了,那么可能性是:

  • 错误的文章ID
  • 文章渲染期间出现异常(您应该检查日志)