0
最近我正在使用果园做一个网页,并且我正尝试使用orchard协作创建一个Q & A页面。我知道通过使用票务仪表板,我可以很容易地得出一个结果,如this。根据项目的不同,将问题分为不同的组。但是现在我想让管理员在点击票据仪表板时看到每个项目的project-dashboard。任何人都可以让我知道如何做到这一点?非常感谢!果园合作
最近我正在使用果园做一个网页,并且我正尝试使用orchard协作创建一个Q & A页面。我知道通过使用票务仪表板,我可以很容易地得出一个结果,如this。根据项目的不同,将问题分为不同的组。但是现在我想让管理员在点击票据仪表板时看到每个项目的project-dashboard。任何人都可以让我知道如何做到这一点?非常感谢!果园合作
有一些选项可以帮助你。我想到的其中一个就是这个。
为“DisplayTicketDashboard”之类的新DisplayType自定义ProjectDriver。如果您查看ProjectDriver.Display方法,则会为Detail显示类型呈现ProjectDetail(其中包含Portlet)。您可以在那里为新的DisplayType添加新的“case语句”。对于新的显示类型,您可以表示票据仪表板。是这样的:
case "ProjectTicketDashboard":
// Query the counts of the whole tickets in the system based on stateId
dynamic state = new JObject();
var contentQuery = this.services.ContentManager.HqlQuery().ForVersion(VersionOptions.Published);
state.ContentTypes = "Ticket";
contentQuery = this.projectionManagerWithDynamicSort.ApplyFilter(contentQuery, "Content", "ContentTypes", state);
state.Project_Id = part.Id;
contentQuery = this.projectionManagerWithDynamicSort.ApplyFilter(contentQuery, "AttachToProjectFilter", "Id", state);
var ticketCountsByStateIds = groupQuery.GetCount(contentQuery, "TicketPartRecord", "StatusRecord.Id");
model.AllTickets = new Collection<dynamic>();
CRMHelper.AddStatusGroupRecordsToModel(statusRecords, ticketCountsByStateIds, model.AllTickets);
state.MaxDueDate = DateTime.UtcNow.Date;
contentQuery = this.projectionManagerWithDynamicSort.ApplyFilter(contentQuery, TicketFieldsFilter.CategoryName, TicketFieldsFilter.TicketDueDateType, state);
model.AllOverrudeItemsCount = contentQuery.Count();
return ContentShape("Parts_Project_Dashboard",
() => shapeHelper.Parts_Project_Dashboard(
Model: model
));
让我知道,如果你有任何问题。 Siyamand
我会试试!谢谢你的帮助〜 –
嗨Siyamand,我有另一个问题要问你。现在,当我使用管理员帐户查看票据仪表板时,我会看到两张票据摘要之一是“您的票据摘要”和另一张“所有票据摘要”,是否能够在仪表板上添加更多摘要? –
嗨奥斯汀,有几种方法可以这样做。 [Orchard Collaboration](http://orchardcollaboration.com)使用一个小部件来表示Ticket Summaries(用户和管理员)。主要逻辑在Modules/Orchard.CRM.Core/Drivers中的DashboardDriver中。你需要创建一个类似于那个的新Widget。 DashboardDriver代表登录用户的门票以及所有门票的摘要。在新的小部件中,您只能表示用户的摘要故障单。新窗口小部件必须具有UserId属性并表示该用户的票证摘要,而不是登录的用户。 – siyamand