使用自定义portlet的形式调用核心Liferay的portlet(文档库)的操作

时间:2016-02-25 07:14:23

标签: liferay

我需要在提交自定义表单时调用文档库portlet' EditFileEntryAction(核心生命线)。

我创建了以下actionURL:

<liferay-portlet:actionURL var="editFileEntryURL" portletName="<%=PortletKeys.DOCUMENT_LIBRARY %>" doAsGroupId="${scopeGroupId}" refererPlid="${plid}">
    <portlet:param name="struts_action" value="/document_library/edit_file_entry" />
    <portlet:param name="uploader" value="classic" />
</liferay-portlet:actionURL>

我想提交以下表格:

<aui:form action="<%= editFileEntryURL %>" cssClass="lfr-dynamic-form" enctype="multipart/form-data" method="post" name="fm">
    <aui:input name="<%= Constants.CMD %>" type="hidden" />
    <aui:input name="uploadProgressId" type="hidden" value="<%= uploadProgressId %>" />
    <aui:input name="repositoryId" type="hidden" value="${themeDisplay.scopeGroupId}" />
    <aui:input name="folderId" type="hidden" value="${categoryFolderId}" />
    <aui:input name="fileEntryId" type="hidden" value="0" />
    <aui:input name="workflowAction" type="hidden" value="<%= WorkflowConstants.ACTION_PUBLISH %>" />

    <aui:input name="file" style="width: auto;" type="file">
        <aui:validator name="acceptFiles">
            '<%= StringUtil.merge(PrefsPropsUtil.getStringArray(PropsKeys.DL_FILE_EXTENSIONS, StringPool.COMMA)) %>'
        </aui:validator>
    </aui:input>

    <aui:input name="title">
        <aui:validator errorMessage="you-must-specify-a-file-or-a-title" name="custom">
            function(val, fieldNode, ruleValue) {`enter code here`
                return ((val != '') || A.one('#<portlet:namespace />file').val() != '');
            }
        </aui:validator>
    </aui:input>

    <aui:button type="submit" value="save" name="save" />
</aui:form>

1 个答案:

答案 0 :(得分:0)

我建议在Liferay的文档库portlet上具有HTTP级别的交叉依赖性。而是实现您自己的上传portlet并使用文档库API自行存储文件。