当新用户添加到 liferay 时,可以自动为他创建一个公共页面。我应该在哪里查看 Liferay 的源代码来实现这样的功能?或者也许已经可以通过配置实现?如果是这样,我该怎么做?
谢谢
从技术上讲,这是在 中完成的UserLocalServiceImpl.addUserWithWorkflow(...)
,但根据您的实际需要,您可以通过配置完成您要求的部分操作:
创建用户组时,您可以编辑用户组的“页面”(或站点模板)。如果用户是该用户组的成员,这些页面将被复制/链接到用户的个人站点。在 ControlPanel/Portal/PortalSettings 中,您可以选择此用户组作为所有新创建用户的默认用户组,以便他们都获得这些页面。
现在,这不会分配您在此问题标题中提到的子域(如虚拟主机)。如果您想为站点分配一个虚拟主机(当您深入研究 Java 代码时,在技术术语中称为“组”),您必须覆盖上面给出的方法(例如通过覆盖的钩子UserLocalService
)并配置用户的站点/group 与虚拟主机。但是,UI 不允许为用户的站点配置虚拟主机,但您可以通过 API 来执行此操作,例如以编程方式
如果这对您来说已经足够了,您还可以实现从http://username.example.com(“用户名”上的通配符)到http://www.example.com/web/username的空白重定向- 例如使用 Apache 的 mod_rewrite
最后,我必须遵循:http ://www.liferay.com/community/forums/-/message_boards/message/10268877 。我只想使用 UI,所以我必须自定义 portlet 来解决这个问题:|