• 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 包含用于控制店面中客户商品可见性的工具。

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

    • 如果出现完整的项目列表,则这是一个可见性问题。
    • 如果仅显示项目列表的一部分,则不是可见性问题。 相反,原因在别处。
  • 相关阅读:
    Paramenter-Efficient Transfer Learning for NLP
    说说教育机构教学课程视频加密是如何实现的?
    图的若干定义及表示
    基于Echarts实现可视化数据大屏通用大数据可视化展示平台模板
    数据结构与算法 -二叉树
    App Languages 批量导入管理flutter多语言文案
    Mysql数据库中的用户管理与授权
    【LeetCode】641. 设计循环双端队列
    C语言从入门到高级
    OpenGL入门(二)之渲染管线pipeline,着色器Shader
  • 原文地址:https://blog.csdn.net/i042416/article/details/127822057