有没有办法在Portlet插件war文件中包含Liferay文档或Web内容结构和模板,并让标准用户可以使用它们?
用例是您正在编写一个利用您提供的自定义文档库结构的portlet。但是你不希望将这个结构作为一个单独的东西用它自己的安装过程(例如为结构提供一个LAR),你只需要你的插件在安装时使自定义结构可用。
答案 0 :(得分:2)
您可以通过将 portal.properties 文件添加到portlet的 WEB-INF / classes 目录来实现目标。该文件应包含以下行:
application.startup.events=com.yourcompany.whatever.YourCustomStartupAction
此自定义启动操作应该是从 com.liferay.portal.kernel.events.SimpleAction 扩展的类。在它中,您将能够利用所有Liferay服务工具来在您的portlet启动时在Liferay中执行操作。您需要用于专门处理Liferay文档库的类是DLAppLocalServiceUtil。此util类具有处理文档库中的文件/文件夹的所有必要方法。
对于与网络内容相关的内容,例如结构,模板和文章,只需使用JournalStructureLocalServiceUtil,JournalTemplateLocalServiceUtil和JournalArticleLocalServiceUtil。
答案 1 :(得分:1)
我希望我的问题是正确的;)
部署portlet时,可以通过DLFolderService创建文件夹Structure
要在服务器启动时运行方法,您必须使用我认为的CustomAction,请查看:here