エクスポート前にliferayカレンダーイベントのファイル名を変更する方法を知っている人はいますか? デフォルトは「liferay.ics」です。
ありがとうサブリナ
エクスポート前にliferayカレンダーイベントのファイル名を変更する方法を知っている人はいますか? デフォルトは「liferay.ics」です。
ありがとうサブリナ
フックを書くことで名前を変更できます。
%liferay_folder%\%your_server%\webapps\ROOT\html\portlet\calendar にある export_import.jspf ファイルを上書きします
<aui:fieldset label="export">
<aui:input cssClass="lfr-input-text-container" label="" name="exportFileName" type="text" value="liferay.ics" />
</aui:fieldset>
value 属性を変更するとうまくいくはずです。
カレンダー ポートレットをもう少し詳しく見てみると、上記のソリューションは、[概要] タブからイベントをエクスポートするときではなく、[エクスポート/インポート] タブにのみ表示されるようです。
ファイルの作成を担当するエンドポイント: http://www.jarvana.com/jarvana/view/com/liferay/portal/portal-impl/6.1.0/portal-impl-6.1.0-sources.jar! /com/liferay/portlet/calendar/action/ExportEventsAction.java?format=ok
exportFileName という名前のポートレット パラメータが設定されていない場合、アクションによって自動的に liferay.ics という名前が付けられるようです。
追加 (event_action.jsp 内):
<portlet:param name="exportFileName" value="<%= event.getTitle() %>" />
に :
<c:if test="<%= CalEventPermission.contains(permissionChecker, event, ActionKeys.VIEW) %>">
<portlet:actionURL windowState="<%= LiferayWindowState.EXCLUSIVE.toString() %>" var="exportURL">
<portlet:param name="struts_action" value="/calendar/export_events" />
<portlet:param name="redirect" value="<%= currentURL %>" />
<portlet:param name="eventId" value="<%= String.valueOf(event.getEventId()) %>" />
</portlet:actionURL>
<liferay-ui:icon
image="export"
url='<%= exportURL %>'
/>
</c:if>
今後、より高度な操作が必要な場合は、この方法を使用してください。
ラッパーの基本概念:
フック xml で:
<?xml version="1.0"?>
<!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.1.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_1_0.dtd">
<hook>
<custom-jsp-dir>/WEB-INF/jsps/</custom-jsp-dir>
<struts-action>
<struts-action-path>/calendar/export_events</struts-action-path>
<struts-action-impl>aiao.liferay.strutsactions.ExportEventActionWrapper</struts-action-impl>
</struts-action>
</hook>
ラッパーは次のようになります。
public class ExportEventActionWrapper extends BaseStrutsPortletAction {
@Override
public void processAction(StrutsPortletAction originalStrutsPortletAction, PortletConfig portletConfig, ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {
_logger.info("Call To Wrapper");
//do your magic here...
originalStrutsPortletAction.processAction(portletConfig, actionRequest, actionResponse);
}
private Log _logger = LogFactoryUtil.getLog(ExportEventActionWrapper.class);
}