ROOT
应用程序包含所有描述的项目(经典主题,大约10个布局和众多portlet)。
创建自己的包是否可能或是好的做法?怎么样?
请提示。
答案 0 :(得分:2)
从理论上讲,可以将一个Portlet,Theme,Layout和Hook的项目打包在一个项目中。
但从维护和开发的角度来看,从四种类型中收集所有这些都不是一种好的做法。
虽然有时你可能在一个项目中有一个portlet和hook,如果它们以某种方式相关,例如你想让一些Listeners将数据添加到你的自定义表,然后你的portlet将提供一个接口来更新或查看该数据,所以在这种情况下,它们是相互依赖的,如果portlet是钩子,那么它是没有用的。所以继续把它们结合起来。
因此,如果4种类型以某种方式相互关联或相互依赖,而不是我看到一个用例来使它们聚集(这将是罕见的)但仍然从维护的角度来看,我宁愿将4分开。至少我会将portlet和主题分开,并且可能有一个Portlet-hook组合和一个主题 - 布局组合,因为它们相互配合得很好,甚至来自维护&发展观点。
以下是您可以做到的方法
MyCompletePackage-portlet
portlets
,项目可以位于plugins-sdk
的{{1}}文件夹中。plugins-sdk
for hooks liferay-hook.xml
for portlets liferay-portlet.xml
主题liferay-look-and-feel.xml
布局liferay-layout-templates.xml
文件,只需像往常一样进行构建。build.xml
。build.xml
中包含特定于主题的内容。如果这对你有用或者你遇到任何问题,请告诉我。
免责声明:我没有尝试过第6点,但它应该可行
答案 1 :(得分:1)
通常会在一次战争中添加所有portlet,以便他们可以毫无问题地访问服务并节省上下文重新加载时间。
然而,由于我们更改了主题,所以使用portlet的主题可能不是一个好主意。因此在更新portlet时需要重新加载。好吧,这是几个月一次,但仍然是一个声明,以保持portlet远离主题战争。