2016-03-09 3 views
1

Первый пользователь SO здесь. Перенаправлено с сайта Kentico, чтобы узнать, знает ли кто-нибудь ответ на этот вопрос. Не удалось найти информацию в своих статьях в КБ.Восстановление удаленных страниц в Kentico Error

Попытка восстановления удаленной страницы из корзины утилизации на нашем сайте. Единственный вариант, который существует в пользовательском интерфейсе администратора 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); 

Кентико использует родительский путь NodeAliasPath удаляемого документа в мусорной корзине, чтобы определить исходное местоположение.

Восстанавливая эту структуру на основе NodeAliasPath, вы можете восстановить документы. Убедитесь, что NodeAliasPath существует через свойства страницы и гарантирует, что тип родительской страницы позволяет удалить тип страницы в качестве дочернего.

Удачи вам!

Смежные вопросы