2014-10-24 5 views
0

Я пытаюсь создать страницу rss с Umbraco. Существует много примеров создания rss-страницы с типом документа. Однако у меня много типов документов, и я не могу адаптировать эти образцы;Umbraco RSS Все документы без документа Тип

var cases = CurrentPage.AncestorOrSelf(1).Descendants("Case").OrderBy("CreateDate desc").Take(10); 

Потому что у меня есть много типов, я не»т хочу, чтобы установить их„жестко“

И я также пытался рекурсивный метод, я получил все страницы на вспомогательный класс, , но я не мог вернуться с правильным типом. Например:

List<DynamicPublishedContent> listC = new List<DynamicPublishedContent>(); 
var listC = Project.Web.Helper.PHelper.GetAllNodesByType(Model.Content.AncestorOrSelf(1)); 

Потому что мне нужно описание страницы и заголовок и DynamicPublishedContent или IPublishedContent не включает их и получил ошибку части в ниже

@foreach (var article in articles) 
    { 
     <item> 
      <title>@if (article.HasValue("title")) 
       {@article.title} 
      else 
       {@article.Name}</title> 
      @Html.Raw("<link>")@[email protected]@Html.Raw("</link>") 

      <description>@article.previewText</description> 

      <pubdate>@String.Format("{0:ddd, dd MMM yyyy} {1:HH:mm:ss}", @article.date, @article.CreateDate)</pubdate> 
</item> 
    } 

Есть ли у вас какие-либо идеи?

ответ

0

Не могли бы вы увидеть, будет ли работать следующее: Это непроверено и просто основано на том, как это звучит, как вы пытаетесь сделать.

@using umbraco.NodeFactory 
@model Node 
@foreach (var item in Model.GetChildNodes()) 
{ 
    <item> 
     <title>@(!string.IsNullOrEmpty(item.GetProperty("title").ToString()) ? item.GetProperty("title").ToString() : item.Name)</title> 
     @Html.Raw(string.Format("<link>{0}</link>", item.NiceUrl)) 
     <description>@item.GetProperty("previewText").ToString()</description> 
     <pubdate>@string.Format("{0:ddd, dd MMM yyyy} {1:HH:mm:ss}", item.GetProperty("date"), item.GetProperty("CreateDate"))</pubdate> 
    </item> 
} 

Надеюсь, это поможет.