在Backoffice登录后设置默认目录(导航节点)

2020-09-13 18:42发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我的用例是这样的: 我...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我的用例是这样的:

  • 我们有catalogA和catalogB(所有用户组的可读目录中都有)。

  • 如果用户是userGroupA的成员,则登录后应默认选择catalogA。

  • 如果用户是userGroupB的成员,则登录后应默认选择catalogB。

到目前为止,我发现最好的方法是重写方法 GenericInitAdvancedSearchController.createAdvancedSearchInitContext(NavigationNode navigationNode),该方法在参数中包含一个navigationNode

我的问题是我该如何定义一个新的导航节点,因为该对象只是通过套接字从小部件socketId =" nodeSelected"传递的,是否有一个初始化程序,一个通过目录生成一个的工厂。

谢谢。

4条回答
哎,真难
2020-09-13 18:48

嗨,

有一个 Advanced Search Engine Generic Initializer 小部件,该小部件可将您希望添加的任何条件添加到搜索中。 我会做的是:

  1. 为不同的组引入了两个 Explorer Tree 配置

  2. 通过引入两个虚拟输出套接字(我们称它们为 catalogA catalogB )和两个设置(扩展了 explorerTreeSelectionProxy 多路复用器小部件)。 catalogA_expression`和 catalogB_expression ); 这两个设置应该提供一个SpEL表达式,如果以 #root 传递适当的节点(即#root.id EQ'explorer-tree-nodes-catalogA'如果 表示 catalogA 的节点的ID设置为 explorer-tree-nodes-catalogA

  3. 创建实现 com.hybris.backoffice.widgets.advancedsearch.AdvancedSearchInitializer 的新bean,并根据选定的节点添加适当的条件

  4. 引入了新的 Advanced Search Engine Generic Initializer 小部件,该小部件指向上一步中创建的bean

  5. 使用初始化程序和具有高级搜索的初始化程序将 explorerTreeSelectionProxy 中的虚拟套接字连接

这样,您将使那些节点按预期工作。

要默认选择那些节点,可以通过以下小部件网格物体更改来实现:

  1. PerspectiveContainer perspectiveSelected 套接字与 Condition Evaluator 连接,以检查其是否为 hmc2

  2. 将此条件评估器 true 套接字与 Property Extractor 连接,该套接字将创建 com.hybris的新实例。 backoffice.navigation.TreeNodeSelector

  3. 将此属性提取器 genericOutput Explorer Tree nodeIdSelected 套接字

此解决方案的唯一问题是,每次打开管理控制台时,它将选择该节点。

干杯, Jacek

一周热门 更多>

相关问答