2014-02-19 3 views
0

Я пытаюсь отобразить список моих таксономий с количеством элементов контента в нем.Отображение количества элементов контента в таксономии Предмет в таксономии Форма тела

Но я не могу узнать, как это сделать. я попытался изменить TaxonomyItem.cshtml

var terms = (IEnumerable<Orchard.Taxonomies.Models.TermPart>)Model.Taxonomy.TaxonomyPart.Terms; 

@ terms.Count()

, но это дает лишь мое количество элементов таксономии, а не количество элементов контента внутри каждой таксономии.

Как я могу отобразить это?

ответ

1

РЕДАКТИРОВАТЬ

Каждый член имеет граф ContentItems, это значение Граф TermPart.Count. Каждый раз, когда элемент контента помечен термином «Терминал», обновите счетчик.

Шаблон TaxonomyItem использует DisplayChildren, и для каждого Терминала он отобразит шаблон TaxonomyItemLink.

@* 
    This shape is displayed for a TermPart when in a Taxonomy details page. 

    Alternates: 
    - TaxonomyItemLink__[HtmlClassifiedTaxonomyName] 
    - TaxonomyItemLink__[HtmlClassifiedTaxonomyName]__[HtmlClassifiedTermName] 
*@ 
@using Orchard.Taxonomies.Models 
@{ 
    TermPart part = Model.ContentPart; 
} 

<span> This is the number of content items with this Term @part.Count </span> 

@Html.ItemDisplayLink(part) 

Это список предметов для этого Термины, а не таксономия.

+0

Неужели это так сложно? для примера, вы можете сделать элемент связи taxonomy в навигации, и есть возможность показать количество элементов контента в таксономии ... как это работает? – k0ni

+0

Я отредактировал мой вопрос. – mberacochea

+0

Это именно то, что я искал! благодаря – k0ni

0

поэтому внутри каждого термина у вас есть предметы? Не могли бы вы поделиться структурой?

terms.Select(item => new { 
          Id = item.TaxonomyId, 
          Count = item.ContentItem.Parts.Count() 
         }); 
+0

Я имею в виду Content Item (в моем примере продукт) имеет элемент таксономии. Я хочу показать его как пример значков здесь: http://getbootstrap.com/components/#list-group – k0ni

+0

ОК, поэтому каждый элемент (Orchard.Taxonomies.Models.TermPart) содержит список продуктов? –

+0

Да, хорошо, что каждая таксономия имеет некоторые продукты – k0ni

1

Просто разрешить таксономии обслуживание от TaxonomyItemLink.cshtml

var _taxonomyService = WorkContext.Resolve<Orchard.Taxonomies.Services.ITaxonomyService>(); 

А затем для каждого из терминов таксономии просто отсчитывать ContentItems

@{ 
    var NumberOfContentItems = _taxonomyService.GetContentItems(part).Count(); 

} 
Смежные вопросы