在菜单中使用其他Part而不是TitlePart

时间:2013-09-25 14:24:12

标签: orchardcms orchardcms-1.7

我有一个菜单,里面有很多查询链接。这将生成一个良好的菜单,其中TitlePart的内容为文本。

我想使用我制作的另一个部分字段,而不是TitlePart中的文本。仅在菜单中而不在内容页面上。

是否有可能修改某个模块以获得此功能,或者是否有可用于解决问题的位置?

1 个答案:

答案 0 :(得分:1)

我通过插入

解决了这个问题
protected override void GetItemMetadata(GetContentItemMetadataContext context)
    {
        var part = context.ContentItem.As<ReferenceCompanyPart>();

        if (part != null && part.CompanyName!= null && part.CompanyName != "") {
            context.Metadata.DisplayText = part.CompanyName;
        }
        else {
            var titlepart = context.ContentItem.As<ITitleAspect>();
            context.Metadata.DisplayText = titlepart != null ? titlepart.Title : "";
        }
    }

然后我的ReferenceCompanyName被用于菜单中的TitlePart