在管理中检测内部 order/created

Detect internal order/created in administration

我们已经构建了一个自定义支付提供商,请参阅 http://pmc.digital/pt/blogue/junho-2016/integracao-mb-way-com-kentico-cms/ (PT only sorry, see https://translate.google.com/translate?hl=en&sl=pt&tl=en&u=http%3A%2F%2Fpmc.digital%2Fpt%2Fblogue%2Fjunho-2016%2Fintegracao-mb-way-com-kentico-cms%2F 以获取 Google 翻译版本)。

效果很好,包括网站编辑的内部订单,但是因为访问者(在前端)需要被重定向到 "Pending Order Page"(在提供商的 APP 中有接受付款的说明),它还在管理员中重定向用户。

我希望有一个用于管理的 ViewMode,但是在执行内部订单时 PortalContext.ViewMode 是实时站点(我想它可以使用购物车 steps/methods,等等)。

是否足以检查当前登录用户是否不是购物车的用户,是否具有电子商务模块的必要权限?

考虑到可用性,从 CMSPaymentGatewayProvider ProcessPayment 方法重定向到 Orders APP 的最佳方法是什么?

用于通过管理界面创建新订单的页面有以下url:

/CMSModules/Ecommerce/Pages/Tools/Orders/Order_New.aspx

因此您可以检查订单是否通过此页面下达,或者您可以对其进行自定义并设置一些自定义变量来告知您在哪里下订单。

如果您想重定向到 man Orders 应用程序,则 url 是:

/Admin/CMSAdministration.aspx#b72ad042-31bf-4ff2-8436-25a647bba548

如果您只想要订单网格,那么这就是您正在寻找的url:

/CMSModules/Ecommerce/Pages/Tools/Orders/Order_List.aspx

您也可以使用以下内容:

if(!string.IsNullOrEmpty(DocumentContext.CurrentAliasPath))
{
//do front end code
}
else
{
//do back end code
}

我在自定义支付网关中使用了这个 运行,完全没有问题。