第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Liferay 7.2 中實現(xiàn)將 Web 內容自動保存為草稿

在 Liferay 7.2 中實現(xiàn)將 Web 內容自動保存為草稿

慕標5832272 2023-06-21 13:58:42
由于Liferay的Web Content默認不能自動保存為草稿,所以我需要實現(xiàn)這樣的功能。我發(fā)現(xiàn) Web 內容表單包含隱藏的輸入字段,其 id 為“ _com_liferay_journal_web_portlet_JournalPortlet_workflowAction ”,對于具有“草稿”狀態(tài)的 Web 內容,值=2 。另外,在Liferay的DB中journalarticle表中也有一個值為2的狀態(tài)列。我想我應該找到注入一些 JS 代碼的方法,檢查這樣的表單是否存在并且其字段的 value=2,如果是,則異步序列化和發(fā)送表單。我想知道是否有第二種方法可以檢查是否有任何 Web 內容被編輯以及 Java 端的狀態(tài)如何。然后我會注入 JS 代碼來序列化并提交表單,而不檢查任何源代碼。我正在考慮創(chuàng)建DynamicInclude實例類。但是,我被告知解決方案不應與編輯器關聯(lián),而應直接與 Web 內容關聯(lián),因為編輯器不會僅在創(chuàng)建 Web 內容期間使用,可能也會在其他地方使用。我得到一個提示,ResourceFilter可能會有所幫助,但在我看來,文檔中沒有對其進行足夠的描述,因此我無法理解它。我沒有修改 Liferay 組件的經驗,所以我不知道如何在實踐中使用所有這些知識。我很樂意提供任何提示。編輯:現(xiàn)在我已經成功添加了異步序列化并提交Web內容表單的JS代碼。問題是它只在第一次執(zhí)行(發(fā)送302 POST 請求并接收200 GET 響應)。下次提交嘗試后如果不刷新頁面,則僅發(fā)送200 個 POST 請求而沒有任何響應。有趣的是,此請求的預覽包含錯誤“自您開始編輯以來,另一個用戶已進行更改。請復制您的更改并重試。“。我不知道如何解決這個問題。我搜索了 Liferay 7.2 存儲庫并發(fā)現(xiàn),當新版本與舊版本不同時,會拋出帶有此錯誤消息的異常。這是沒有意義的,因為 Web Content將其保存為草稿后版本沒有改變,我什至在我的Java代碼中打印出了響應內容,看起來這些版本是相同的。我很高興獲得任何幫助,因為我不知道如何繼續(xù). 下面放上我的JavaScript代碼。window.saveDraft = function() {    var form = $('form#_com_liferay_journal_web_portlet_JournalPortlet_fm1');    var url = form.attr('action');    var p_auth = new URLSearchParams(url).get('p_auth');    var language = form.find('#_com_liferay_journal_web_portlet_JournalPortlet_languageId').attr('value');    var contentInput = form.find( "input[id^='_com_liferay_journal_web_portlet_JournalPortlet_content_INSTANCE_']" );    var shortContentInputId = contentInput.attr('id');    var contentInputIdRandomPart = shortContentInputId.substr(shortContentInputId.length - 4, shortContentInputId.length);    var content = contentInput.attr('value');    var fixedContent = content.replace(/\r?\n|\r/g, '');    //removing unnecessary line breaks    })};
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

我已經成功創(chuàng)建了將 Web 內容異步保存為草稿的模塊。在搜索引發(fā) ArticleVersionException 的位置時,我忘記檢查我的 IDE 是否標記了代碼中的所有事件。事實證明,在檢查提交日期是否正確的代碼片段中拋出了異常。這就是為什么我需要在提交表單后在代碼末尾設置實際時間戳值。在我的例子中,它是通過這行代碼達到的:

form.find('#_com_liferay_journal_web_portlet_JournalPortlet_formDate').val(new Date().valueOf());


查看完整回答
反對 回復 2023-06-21
  • 1 回答
  • 0 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號