Liferay以编程方式创建网站/页面

时间:2015-09-28 12:29:36

标签: liferay liferay-6

我一直在使用Liferay工作2周。我注意到找到好的文档和教程有点困难。 到目前为止,我从门户网站创建了页面。在我创建它们之后,我拖放了portlet。我不喜欢这种方法,我宁愿使用编码方法。有没有办法通过像创建portlet那样定义项目来以编程方式创建网站或页面?

此外,我正在使用Liferay和WebLogic 10.3.6。我想知道liferay将我通过web-portal创建的页面放在文件系统上的位置。我想当我在Liferay门户网站上声明一个新站点时,会创建一个或类似的文件。

谢谢大家,

4 个答案:

答案 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 创建的资源。这应该是如何创建自己的示例。看看

  1. 欢迎主题\ WEB-INF \ SRC \资源-进口商\ *
  2. 欢迎主题\ WEB-INF \ liferay-plugin-package.properties
  3. 此功能在importing-resources-with-themes

    中有所描述

答案 2 :(得分:0)

正如gabor_the_kid所提到的,Liferay将所有对象存储在其表中。例如,用户相关对象将位于用户表中。 Liferay公开服务或API来改变默认/通过程序添加新行为但不比通过UI实现它更容易。对于创建页面或布局等的程序方式,还应考虑维护。

答案 3 :(得分:0)

您可以使用xml描述更改,并使用Liferay Portal DB Setup core在数据库中创建更改。 该库定义了the list 可用的xml配置。

您可以使用图书馆的两个示例:a portleta hook。这是Liferay提供的资源导入器的替代方案。