2014-09-12 6 views
0

Например. СтруктураUmbraco: установка порядка страниц всегда сохраняется в дереве контента

содержание
-Home 
    -Page1 
    -Page2 
    -Page3 

Q: Как я могу установить порядок по умолчанию Страница3 быть всегда в последний раз? если на этом уровне создаются другие страницы?

Как это:

-Home 
    -Page1 
    -Page2 
    -Page4 
    -Page3 

ответ

0

Если вы хотите, чтобы справиться с этим с Umbraco администратора, по моему опыту, это не представляется возможным с Umbraco интерфейса администратора установить некоторое свойство управлять ею. Umbraco table umbracoNode содержит sortOrder страниц, и он будет автоматически создан при создании страницы, и это будет последняя страница.

Вы должны написать собственный код для создания страниц в umbraco backoffice. Это можно сделать, что вы используете в версии Umbraco?

+0

Я использую Umbraco v7 – alex

0

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

Создайте новый класс, который наследует от Umbraco.Core.ApplicationEventHandler

перезаписи ApplicationStarted:

protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext) 
    { 
     ContentService.Published += ContentService_Published; 
     base.ApplicationStarted(umbracoApplication, applicationContext); 
    } 

Создать новый метод

private void ContentService_Published(IPublishingStrategy sender, PublishEventArgs<IContent> e) 
    { 
     foreach (var content in e.PublishedEntities) 
     { 
      if (content.ContentType.Alias != "YOUR CONTENT ALIAS") 
       continue; 
      //Do your sorting here 

     } 
    }