我一直在使用Liferay工作2周。我注意到找到好的文档和教程有点困难。 到目前为止,我从门户网站创建了页面。在我创建它们之后,我拖放了portlet。我不喜欢这种方法,我宁愿使用编码方法。有没有办法通过像创建portlet那样定义项目来以编程方式创建网站或页面?
此外,我正在使用Liferay和WebLogic 10.3.6。我想知道liferay将我通过web-portal创建的页面放在文件系统上的位置。我想当我在Liferay门户网站上声明一个新站点时,会创建一个或类似的文件。
谢谢大家,
马
答案 0 :(得分:4)
是Liferay拥有它的数据库,任何Liferay对象的所有数据都存储在数据库和/或文件系统中,具体取决于您的配置。
但是,Liferay的一项功能是让您通过UI创建页面/网站。如Java Portal规范和Liferay服务器文档中所述,您可以使用其他方式创建页面,但它是Liferay门户服务的一部分。您可以使用Liferay的服务(HTTP REST)API来调用相关服务。要访问这些API,您需要配置Liferay服务器。
如果您想以编程方式执行操作,则仍需要从代码中配置,启用和调用这些外部HTTP服务。您不应该在自己的Liferay实例中作为扩展托管的代码创建Liferay对象,因为这会导致Liferay数据库/文件系统不一致。 (在页面创建的情况下,Liferay在其数据库/文件系统中创建了一组其他相关对象。)
答案 1 :(得分:3)
在你的liferay套装中,你会发现两个感兴趣的插件。
首先是 resources-importer-web ,其描述为
Resources Importer应用程序允许前端开发人员打包Web 主题中的内容,portlet配置和布局 不将其保存为已编译的.LAR文件,从而允许更大 Liferay Portal版本之间灵活使用。
此应用程序将在其他时自动创建相关内容 部署了已配置为使用资源的插件 进口商应用。
此应用程序安装为Liferay服务。
其次是 welcome-theme ,它声明由 resources-importer-web 创建的资源。这应该是如何创建自己的示例。看看
答案 2 :(得分:0)
正如gabor_the_kid所提到的,Liferay将所有对象存储在其表中。例如,用户相关对象将位于用户表中。 Liferay公开服务或API来改变默认/通过程序添加新行为但不比通过UI实现它更容易。对于创建页面或布局等的程序方式,还应考虑维护。
答案 3 :(得分:0)
您可以使用xml描述更改,并使用Liferay Portal DB Setup core在数据库中创建更改。 该库定义了the list 可用的xml配置。