Вот упрощенная версия моего дерева контента.
- Content
- Articles
- Article 1
- About Us
Давайте предположим, что я добавляю 2 узла, один из которых является дочерним для статей, а другой - на корневом уровне.Мое дерево теперь будет выглядеть следующим образом.
- Content
- Articles
- Article 1
- Article 2
- About Us
- Terms
И Article 2
, и Terms
сохраняются в таблице umbracoNode с "level", установленным на 2. Это не правильный уровень для Terms
;его уровень должен быть 1.
Это приводит к сбою публикации, в частности по адресу umbraco.cms.presentation.editContent.Publish:
if (_document.Level == 1
|| new cms.businesslogic.web.Document(_document.Parent.Id).Published)
{
// Code that publishes the node
}
То, что происходит, так как уровень НЕ равен 1оценивает 2-ю часть условного.После создания экземпляра Document
с идентификатором родителя текущего узла (-1) он проверяет наличие записей cmsContentVersion с этим идентификатором.Тем не менее, это корневой узел, и ничего не существует в cmsContentVersion для корня, поэтому он идет kaboom.
Несколько вещей, которые могут или не могут представлять интерес:
- Мыв процессе обновления с v3.6 -> v4.7
- Правый щелчок по узлу и публикация работ
- Ссылка на документ после щелчка правой кнопкой мыши и публикации - просто
#
, что тоже неверно.Я не уверен, если это связано или нет.
Любая помощь будет принята с благодарностью.