0

我按照本指南在 Liferay中创建了一个自定义字段。我已经创建了一个真/假属性,但我想检查这个属性是真还是假,如果是真的进入菜单/页面一个 cssClass。我试过这个:

#set ($menu = $nav_item.getLayout().getExpandoBridge().getAttribute("get-menu"))
#if ($menu == "true")
    <a href="" class="menu True">$nav_child.getName()</a>
#else
    <a href="" class="menu">$nav_child.getName()</a>
#end

但不起作用!
如何检查自定义属性的值是真还是假?
任何帮助是极大的赞赏!非常感谢!

4

2 回答 2

1

如果这是一个布尔值,您可以使用以下任何一种:

#if ($menu)
#if ($menu == true)
#if ("$!menu" == 'true')

但是,它也应该适用于您的代码,因此您可能读错了值。的价值是$menu多少?只需打印它以找出答案。

于 2013-09-18T14:50:11.693 回答
1

如果页面的get-menu自定义字段在上面声明为布尔值,则条件应该有效

#if ($menu)
#if ($menu == true)

如果它仍然不起作用检查ExpandoColumn表的数据库,它将具有您的列名 get-menu和默认值(如果已设置)。

ExpandoValue表将为您的自定义字段提供实际值,查找与您的自定义字段和classPK对应的columnId ,这将是您的页面布局 ID。该行将具有您的值,即真/假。

如果您的页面存在此行,则它应该可以在上面的 VM 代码中使用。

希望这对你有帮助!

于 2013-09-26T04:40:18.387 回答