2015-11-18 3 views
0

У меня для меня действительно странное поведение. Я был бы признателен за любую помощь в поиске решения или просто совете, как это узнать.Некоторые подэлементы в Sitecore не публикуются при публикации родительского элемента

У меня есть такая структура элементов Sitecore:

enter image description here

Вот несколько случаев:

    • изменения "Link1" и "Знамя";
    • опубликовать родительский элемент «тест 2» со всеми подпунктами;
    • Результаты: "Баннер" изменен, "Link1" не изменяется

2.

  • изменения "Link1" и "Знамя";
  • опубликовать родительский элемент «Содержимое» со всеми подэлементами;
  • Результаты: «Баннер» меняется, «Link1» меняется слишком

ли anubody идея, почему шись происходит? Почему «ссылка 1» не была опубликована в первом случае?

+0

Пожалуйста, пройти через это руководство по устранению неисправностей: http://blog.martinmiles.net/post/item-not-published-troubleshooting очень вероятно, что вы найти то, что вам не хватает здесь. –

+0

Какая версия Sitecore? Я заметил некоторые странности, но не успел полностью исследовать. Я обнаружил, что после снятия флажка «Опубликовать связанные элементы» в Sitecore 8 элементы, которые были правильно опубликованы, но, как я сказал, еще не успели расследовать, реплицировать или поднять билет поддержки. – jammykam

+0

перейдите на веб-db и проверьте, что у вас есть в файле test2 (проверьте удаленные элементы), вы должны использовать republish для элемента test1, чтобы устранить проблему с удаленными элементами. Это моя единственная идея. – SilentTremor

ответ

0

Наконец я смог решить эту проблему, используя EventHandler к публикации: конец - начал publich, если опубликовать программно элемент имеет тип элемента «тест 2»

веб .config:

<event name="publish:end"> 
    <handler type="YourProject.Infostructure.EventHandlers, YourProject.Infostructure" method="OnPublishEnd" /> 
</event> 

EventHandler:

public void OnPublishEnd(object sender, EventArgs args) 
    { 
     Publisher publisher = Event.ExtractParameter(args, 0) as Publisher; 

     if (publisher != null && publisher.Options.Mode == PublishMode.SingleItem && publisher.Options.RootItem.TemplateID == IMicrositeLandingPageConstants.TemplateId && 
      publisher.Options.Deep) 
     { 
      var item = 
       publisher.Options.RootItem.Children.FirstOrDefault(
        i => i.TemplateID == IContentFolderConstants.TemplateId); 

      if (item != null) 
      { 

       //PUBLISH 

       PublishOptions publishOptions = 
        new PublishOptions(item.Database, 
             Database.GetDatabase("web"), 
             Sitecore.Publishing.PublishMode.SingleItem, 
             item.Language, 
             System.DateTime.Now); // Create a publisher with the publishoptions 
       Publisher publisher2 = new Publisher(publishOptions); 

       // Choose where to publish from 
       publisher2.Options.RootItem = item; 
       // Publish children as well 
       publisher2.Options.Deep = true; 

       publisher2.Publish(); 
      } 
     } 
    } 
0

Это известная ошибка. Или, по крайней мере, симптомы, которые вы описываете, соответствуют именно тому, что мы испытали здесь.

К сожалению, Sitecore официально не опубликовал статью в КБ для исправления. Вам нужно открыть билет на поддержку Sitecore. Для справки, исправление # является 436732.