簡體   English   中英

Orchard CMS一個ContentPart在多個視圖上

[英]Orchard CMS one ContentPart on several View

現有模型-\\ Models \\ HeaderPart.cs。 在驅動程序中,要創建CategoriesMenuDriver並使用HeaderPart:

  public class CategoriesMenuDriver : ContentPartDriver<HeaderPart>
    {
    private readonly dynamic shapeFactory;
    private readonly IMenuAccessor menuAccessor;

    public CategoriesMenuDriver(
          IShapeFactory shapeFactory,
          IMenuAccessor menuAccessor)
      {
        this.shapeFactory = shapeFactory;
        this.menuAccessor = menuAccessor;
    }

    protected override DriverResult Display(HeaderPart part, string displayType, dynamic shapeHelper)
        {
          return this.ContentShape("Parts_CategoriesMenu", () => shapeHelper.Parts_CategoriesMenu(
            MenuItems: this.menuAccessor.GetMenu<NavigationMenuItem>("UserAccount")));
        }
    }

但是在CategoriesMenu視圖中

  var headerPart = (HeaderPart)Model.ContentItem.HeaderPart;

Model.ContentItem為null。

我可以在View CategoriesMenu中獲得HeaderPart嗎?

您應該能夠像這樣訪問零件:

HeaderPart part = Model.ContentPart;

盡管Model.ContentItem不應為null,這很奇怪

編輯如果它也為null,則可以嘗試自己進行設置:

protected override DriverResult Display(HeaderPart part, string displayType, dynamic shapeHelper)
{
        return ContentShape("Parts_CategoriesMenu", () => shapeHelper.Parts_CategoriesMenu(
            MenuItems: this.menuAccessor.GetMenu<NavigationMenuItem>("UserAccount"),
            ContentPart: part       
        ));
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM