如何在Liferay中使用ThemEdisPlay对象而无需使用路径上下文



任何人都可以帮助我如何在没有主题的对象的情况下在liferay中获得路径上下文(在调度程序中的手段)

我正在使用Liferay 6.1

不幸的是,没有(简单的)方法。

原因是 ThemeDisplay对象与当前用户和当前页面绑定。在调度程序的上下文(即,系统本身进行的自动触发事件)中,没有登录的用户(好的,您可以使用默认用户,但是...),并且没有显示页面。p> 但是,您可以做的是,可以从其他地方提供所需的数据。您可以将其存储在自定义属性中,从数据库中阅读或通过服务获取它。例如,PortalUtil.getPortalURL()功能可能是您的朋友。

否则,您需要请求对象才能获取主题。

使用公司ID

路径上下文
    Company company = CompanyLocalServiceUtil.getCompanies().get(0);
    String portalURL = PortalUtil.getPortalURL(company.getVirtualHostname(),PortalUtil.getPortalPort(), false);
    String pathContext = PortalUtil.getPathContext();

最新更新