optimizer是领先的数字体验商务平台,拥有更多开箱即用的B2B商务功能,可根据客户的特定需求进行定制。
在为我们的一个客户集成optimizedb2b Commerce期间,我们遇到了一个需要扩展optimizedb2b Commerce管理控制台的场景。对于默认管理页面的定制,优化对B2B商务管理控制台有一个限制。但是,我们可以在Optimizely B2B商务管理控制台中构建扩展/定制页面。
下面是在optimizedb2b商务管理控制台中添加新页面的步骤。
步骤1:在InsiteCommerce中创建一个视图(CSHTML)页面。Web项目。
您可以按照项目中定义的文件夹结构进行操作。我试图遵循其他管理页面遵循的相同结构,“区域/ AdminExt /观点。”
步骤2:添加“融会贯通。你的扩展项目(库)的参考。
步骤3:在扩展项目/库中创建一个“控制器类”,并遵循命名约定。在我的例子中,我试图为表创建一个扩展页,“订单历史扩展”。
步骤4:将依赖项名称属性添加到控制器类中。
注意:添加依赖项名称属性将为管理控制台页面定义URL模式。在我的例子中,我的订单历史页面的URL将是“https://domainname/admin/OrderHistoryExtension”。
步骤5:在“AdminConsoleMenuExtensions.json”上创建一个条目。在这个文件中添加条目将创建到管理菜单/导航面板的链接。
注意:“Href”中的值需要与第四步中的依赖项名称属性匹配。
步骤6:定义“index”方法并添加属性“ReturnIndexForNonAjaxRequests并归还部分视图。此属性的目的是在Insite Admin主布局中呈现自定义页面。
一旦以上所有步骤都完成了,你将做以下事情:
- 登录管理控制台。
- 在“管理左侧导航菜单”,你会看到扩展菜单。
- 单击“Order HistoryExtension”链接,在右侧,您将看到OrderHistoryExtension列表视图。
注意:属性”ReturnIndexForNonAjaxRequests”是控制器上的方法定义所必需的。如果属性(ReturnIndexForNonAjaxRequests]在控制器方法中缺失,那么自定义页面将会如下面的截图所示。
一旦完成了上面的工作,你就可以使用标准的模型视图控制器(MVC)代码或者通过实现标准的REST API和AngularJS从你的自定义表中提取数据。在这个例子中,我使用了种子/虚拟数据,并通过使用MVC代码进行显示。
- 创建了“视图模型,并将其命名为“OrderHistoryExtensionView”。
- 然后,添加属性“OrderNumber, storennumber,DeliveredBy”。
- 接下来,添加种子数据,并在返回部分视图时将其作为对象模型返回。
- 请参阅下面的代码片段
参考下面我创建的代码片段来演示如何在我们在优化B2B商务管理控制台下创建的自定义页面上显示数据:
OrderHistoryController.cs
你可以查看“列表”。cshml”视图如下:
下面是管理视图:
所有上述步骤都将在Optimizely B2B Commerce SDK框架上工作,而不需要依赖Optimizely支持团队。了解我们广泛的专业知识和强大的合作伙伴关系。