2016-03-09 52 views
1

第一次SO用戶在這裏。從Kentico網站重定向,看看有人可能知道這個答案。無法找到他們的知識庫文章中的信息。恢復Kentico中的已刪除頁面錯誤

試圖恢復我們網站上回收站的已刪除頁面。 Kentico的管理界面中唯一的選擇是將其恢復到頁面的原始位置。不幸的是,頁面樹已經發生了很大的變化,並且恢復功能不能正常工作。它會生成以下錯誤:

發生意外錯誤,請參閱事件日誌以獲取更多詳細信息。事件來源:內容,事件代碼RESTOREDOC

我想知道如果我重新創建路徑,是解決方案來恢復這個特定的頁面?然後我將它移到新的位置,然後刪除父頁面。在這個特定頁面的原始位置上方基本上有4級導航,所以我很擔心在活動網站上重新創建這些網頁,除非這真的會起作用。

絕對感謝任何建議。謝謝。

+0

事件日誌中的錯誤是什麼? –

+1

這是我第一次深入瞭解事件日誌。這是主線。不知道你是否需要其他文字。 消息:[VersionManager.RestoreDocumentInternal]:節點無法恢復,因爲其父節點不再存在。 –

+1

我會嘗試重新創建路徑,確保別名路徑(Kentico中使用的唯一路徑)匹配前一個路徑。如果您有任何與您刪除的文件名稱相同的文件,您可能會在此處發生衝突。例如,「/ about-us」可能是「/ about-us-(1)」,因此請務必在嘗試還原時檢查新父頁的屬性上的別名路徑。除此之外,如果您沒有任何備份,我不確定接下來要嘗試什麼。您可能能夠在數據庫中創建一個查詢,以便在不進行實際還原的情況下向您顯示該頁面的內容。 – probrandono

回答

0

我已經通過重新創建(NodeAlias)路徑來完成此操作。

從完整的源代碼兩者在Kentico版本9恢復文件:

var parentNode = TreeProvider.SelectSingleNode(site.SiteName, TreePathUtils.GetParentPath(restoreNode.NodeAliasPath), TreeProvider.ALL_CULTURES, false, null, false); 

Kentico使用刪除文件的NodeAliasPath的父路徑在回收站,以確定原來的位置。

重新創建基於NodeAliasPath的結構允許您恢復文檔。請確保NodeAliasPath通過頁面的屬性存在,並確保父頁面類型允許將刪除的頁面類型作爲子項。

祝你好運!