1
    <aui:select name="Event for">
     <%
    for (User usr : UserLocalServiceUtil.getRoleUsers(10163)) {
     %>           
         <aui:option label="<%=usr.getFullName()%>" />
    <%
        }
    %>
    </aui:select>



    I have created a new field in Add Event page of Calendar portlet. 

我想在 CalEvent 表中创建一个与新创建的字段相对应的新列。同样,我应该通过创建 CalEvent 实例来获取该字段的值...。因此,在“添加事件”页面中单击“保存”时,新创建的字段的值也应该保存在 CalEvent 表中。上面粘贴的代码用于创建新的下拉字段“Event for”,它将给出角色下的用户列表。这是我通过创建 Hook 来完成的。因此,在保存事件的同时,“Event for”的值也需要保存在 CalEvent 表中的“eventFor”列中。我怎样才能做到这一点?如何创建新列以及如何保存?请帮忙.....

4

1 回答 1

0

您主要关心的是用于 CalEvent 的数据库表。如果您可以打开数据库浏览器,您可以找到名为“calevent”的表,主键为“eventId”。

现在,如果您想在该表中添加一列,则需要对日历 Portlet 的控制器和服务进行扩展修改,而且除了需要做很多工作之外,您还将失去与未来更新的兼容性。

因此,我的建议是制作另一个 Portlet,并使用 ServiceBuilder 创建一个以“eventFor”列为特色的表,并将“calevent.eventId”作为外键。如果您将 service.jar 复制到 /lib/ext/ 中,您甚至可以在挂钩的 add-event.jsp 中包含新服务并从那里创建新实例。

于 2013-01-23T08:05:10.587 回答