Fer*_*era 3 velocity liferay liferay-6 liferay-theme
正如tittle所说......如何知道页面是私有的还是公共的?我需要在自定义主题的速度文件中实现一些逻辑,仅用于私有页面.
我发现这个页面从Velocity访问对象,它似乎非常有用,但我需要一些API的帮助,因为我不知道哪个实用程序类有一个方法,我正在寻找.
我想在一个解决方法使我的条件成为主题属性,但我不想依赖于管理员用户
谢谢
Artem Khojoyan上面的答案就是重点.
但我想补充一些信息.
liferay中的页面由Layoutobject 表示.主题模板支持主题模板中的layout更多对象,您可以在课堂中查看VelocityVariablesImpl.你可以检查之类的语句velocityContext.put("key","value");,其中key是变量,你可以在Velocity模板的使用$key.
因此$layout,除了Layout对象之外,您可以Layout在velocity 中使用此对象的所有公共实例方法.
对于每个请求,$layout主题代表当前页面,需要加载.
最后,您可以在您portal_normal.vm或您主题中的init_custom.vm任何其他内容中执行以下操作*.vm:
#if($layout.isPublicLayout())
#*.. do something if it is public ...*#
#else
#*.. do something if it is private ...*#
#end
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.