我需要根据我所在的页面使模板中的某些部分显示或隐藏。我知道我可以在 liferay-look-and-feel.xml 文件中创建多个主题并提供设置,但这会在管理员中创建多个主题。
是否有其他方法可以访问有关此页面上的 portlet 的信息。例如,如果它有登录 portlet,那么不显示导航链接?
我认为简单的方法是在 javascript 上添加这个函数。使用 javascript,您可以例如观察 login-portlet-id 的存在,然后隐藏导航。
在 liferay 模板中,有一个速度变量可用,称为 $processor。它不过是对象
com.liferay.portlet.layoutconfiguration.util.velocity.TemplateProcessor
portletId 在此对象中可用,但没有直接的方法来获取它。请看一下:
一旦获得 portletId,您就可以编写逻辑来隐藏某些部分。