Использование рефлектора Я проверил, где scEditorWarningTitle
(scEditorWarningTitle является классом заголовка предупреждающего сообщения). Я узнал, что это в Sitecore.Client.dll, в частности, в Sitecore.Shell.Applications.ContentMnaager.Editor.RenderWarning
. Это пространство имен также имеет GetWarnings
метод, который ciks от getContentEditorWarnings
трубопровода:
using (new LongRunningOperationWatcher(Settings.Profiling.RenderFieldThreshold, "GetContentEditorWarningsArgs pipeline", new string[0]))
{
CorePipeline.Run("getContentEditorWarnings", args);
}
Глядя на этот трубопровод, мы можем видеть, что он делает следующее (по умолчанию, по крайней мере, в Sitecore 6,5 обновление 5 - это может быть другой в других версиях Sitecore):
<getContentEditorWarnings>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.ItemNotFound, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanReadLanguage, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.HasNoVersions, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanWrite, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanWriteWorkflow, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanWriteLanguage, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.IsReadOnly, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.IsLocked, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.HasNoFields, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.NeverPublish, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.ItemPublishingRestricted, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.VersionPublishingRestricted, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.ShowingInputBoxes, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.FeedIsEmpty, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.RunRules, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetContentEditorWarnings.Notifications, Sitecore.Kernel"/>
</getContentEditorWarnings>
Снова в Sitecore 6.5 обновление 5 единственных VersionPublishingRestricted
предупреждения, которые я вижу, являются:
Если вы публикуете сейчас, выбранная версия не будет виден на веб-сайта, потому что это не в конечной стадии рабочего процесса
Если вы публикуете сейчас, выбранная версия не будет видна на веб-сайте , потому что сегодня она не подпадает под допустимый диапазон дат
Если вы сейчас публикуете, выбранная версия не будет отображаться на веб-сайте , потому что она была заменена более новой версией
Если вы опубликуете , то выбранная версия будет недоступна на сайте
С возможностью описания либо
версии X будет опубликован вместо
или
Никакая другая версия не будет опубликован
Все о Те процессоры, которые я проверил, которые находятся в стадии разработки, не упоминают о замене старой версией.
Если старший не опечатка, это было бы стоит либо смотреть в getContentEditorWarnings
трубопровода или проверить правила (которые расположены в /sitecore/system/Settings/Rules/Content Editor Warnings/Rules
)
Редактировать
Право как @horseman говорит, в Sitecore 6,6 это в VersionPublishingRestrictions
:
if ((validVersion != null) && (item.Version.Number < validVersion.Version.Number))
{
warning.Title = Translate.Text("If you publish now, the selected version will not be visible on the Web site because it has been replaced by a newer version.");
}
else if ((validVersion != null) && (item.Version.Number > validVersion.Version.Number))
{
warning.Title = Translate.Text("If you publish now, the selected version will not be visible on the Web site because it has been replaced by an older version.");
}
else if (IsInWorkflow(item))
{
warning.Title = Translate.Text("If you publish now, the selected version will not be visible on the Web site because it is not in the final workflow step.");
}
else if ((item.Publishing.ValidFrom > now) || (item.Publishing.ValidTo <= now))
{
warning.Title = Translate.Text("If you publish now, the selected version will not be visible on the Web site because today does not fall within its valid date range.");
}
else
{
warning.Title = Translate.Text("If you publish now, the selected version will not be visible on the Web site.");
}
Так что, если есть действующая версия, и действительный номер версии меньше, чем номер версии выбранного в данный момент элемента вы получите сообщение:
If you publish now, the selected version will not be visible on the Web site because it has been replaced by an older version.
У вас есть идеи, почему в настоящее время отредактированная версия заменена более старой версией, и она не будет видна. –
Я предполагаю, что есть рабочий процесс, настроенный для вашего элемента, и новая версия до сих пор не одобрена. – philipproplesch