• SAP 电商云 CMSUserGroupRestriction 在 Spartacus 里的 evaluation 问题


    问题描述

    已经设置了 CMSUserGroupRestriction,在 Accelerator 上可以正常工作,但在 Spartacus 上不工作。注意到的是导航节点根据 restriction 已经处于 deactivated 状态,但它并没有消失。

    例如,如果我为 Register Now 设置了一个导航节点,它应该只显示给匿名客户,匿名客户就可以点击链接。但实际观察到的现象是,登录后链接继续出现,但用户无法点击它。

    似乎 content Page API 并不会去 evaluate Commerce Cloud 后台创建的 restriction.

    问题分析

    我使用以下 Impex 创建了两个限制(restrictions),一个用于链接组件(Linked component),另一个用于 CMS 页面。

    1.INSERT_UPDATE CMSUserGroupRestriction;$contentCV[unique=true];uid[unique=true];name;userGroups(uid);includeSubgroups;components(&linkRef)
    
    ;;invoiceRestriction;Invoice Customer Group Restriction;invoceRestrictionGroup;true;capsugelInvoicesNavNodeLink
    
    2.INSERT_UPDATE CMSUserGroupRestriction;$contentCV[unique=true];uid[unique=true];name;userGroups(uid);includeSubgroups;pages(uid, $contentCV)
    
    ;;orderHistoryRestriction;Order History Page Restriction;orderHistoryRestrictionGroup;true;orderHistory
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    对于预期的 invoceRestrictionGroup,链接组件被限制/隐藏,而通过应用页面限制,页面将显示给该组(orderHistoryRestrictionGroup)中的特定客户,这与预期相反。

    有没有正确使用页面限制的解决方案?也就是说,页面不应该对特定的用户组可用。

    正确的解决方案

    INSERT_UPDATE CMSInverseRestriction;$contentCV[unique=true];name;originalRestriction(&uid);uid[unique=true];
    ;;Order History Page Inverse Restriction;orderHistoryRestriction;orderHistoryPageInverseRestriction;
    
    • 1
    • 2

    原因:CMSUserGroupRestriction 的默认行为是页面只能由指定的用户组访问(或换句话说,仅限于)。因此,为了反转此行为,开发人员需要在 CMSUserGroupRestriction 上应用 CMSInverseRestriction。

    SAP Commerce 包含用于控制店面中客户商品可见性的工具。

    如果客户看不到您期望的完整项目列表(例如,只有一些产品),则您的自定义扩展或可见性设置可能存在问题。 找出是否存在可见性问题或源代码问题的一个好方法是将管理员员工分配给会话。

    • 如果出现完整的项目列表,则这是一个可见性问题。
    • 如果仅显示项目列表的一部分,则不是可见性问题。 相反,原因在别处。
  • 相关阅读:
    walking机器人仿真教程-深度学习-使用yolov5进行物体识别
    【论文分享】LibAFL: A Framework to Build Modular and Reusable Fuzzers
    Orin 两种刷机方式
    通过Python脚本支持OC代码重构实践(二):数据项提供模块接入数据通路的代码生成
    设计模式(二)创建模式
    MySQL、redis、MongoDB、elasticsearch的对比
    杂记:数据库go,begin,end,for,after,instead of
    HTML5七夕情人节表白代码 (动态3D相册) HTML+CSS+JS
    普通人下场全球贸易,新一轮结构性机会浮出水面
    Slf4j打印异常的堆栈信息
  • 原文地址:https://blog.csdn.net/i042416/article/details/127822057