Como pular a exibição de um item de conteúdo no Orchard CMS?

Eu tenho uma parte de conteúdo que fornece uma opção de início e fim de data e hora. Esses 2 campos são usados para definir um período de tempo no qual o item de conteúdo deve ser exibido.

Agora, tenho dificuldades para implementar uma abordagem de ignorar, enquanto os itens de conteúdo não devem ser exibidos / ignorados quando o período de tempo não ultrapassa o tempo atual.

Digitar o código-fonte e tentar encontrar um ponto de entrada para minha abordagem resultou no seguinte manipulador de conteúdo

public class SkipContentHandler : Orchard.ContentManagement.Handlers.ContentHandler
{
  protected override void BuildDisplayShape(Orchard.ContentManagement.Handlers.BuildDisplayContext aContext)
  {
    if (...) // my condition to process only content shapes which need to be skipped
    {
      aContext.Shape = null; // return null shape to skip it
    }
  }
}

Isso funciona, mas existem vários efeitos colaterais

Eu tive que alterar o código fonte deBuildDisplayContext Enquanto oShape normalmente é somente leituraO formato da lista pode exibir um pager errado quando ele contém itens de conteúdo com a minha parte do conteúdo, porque oCount() ligarContainerPartDriver.Display() é executado antesBuildDisplay()chamar o URL de um item de conteúdo ignorado resulta em uma exceção porqueView(null) é abigioso

Então, qual seria a abordagem correta aqui ou existe algum módulo que faça o trabalho? Não consegui encontrar um.

questionAnswers(1)

yourAnswerToTheQuestion