点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我的用例是这样的:
-
我们有catalogA和catalogB(所有用户组的可读目录中都有)。
-
如果用户是userGroupA的成员,则登录后应默认选择catalogA。
-
如果用户是userGroupB的成员,则登录后应默认选择catalogB。
到目前为止,我发现最好的方法是重写方法 GenericInitAdvancedSearchController.createAdvancedSearchInitContext(NavigationNode navigationNode),该方法在参数中包含一个navigationNode
我的问题是我该如何定义一个新的导航节点,因为该对象只是通过套接字从小部件socketId =" nodeSelected"传递的,是否有一个初始化程序,一个通过目录生成一个的工厂。
谢谢。
我这样做的方法是通过覆盖FullTextSearchController中的initializeInContext方法,该方法在用户首次登录时被调用。这是您可以检查已登录用户的组并将条件添加到solr查询的方法。/p>
调试登录过程后,我发现当用户登录到产品座舱时,默认情况下会显示所有产品(因为Hybris默认情况下会创建SolrSearchQuery来检索所有产品),因此有一种方法可以 拦截并更改该查询以为其添加条件。
在此先感谢您提供的任何帮助。 干杯。
嗨,
有一个
Advanced Search Engine Generic Initializer
小部件,该小部件可将您希望添加的任何条件添加到搜索中。 我会做的是:为不同的组引入了两个
Explorer Tree
配置通过引入两个虚拟输出套接字(我们称它们为
catalogA
和catalogB
)和两个设置(扩展了explorerTreeSelectionProxy
多路复用器小部件)。 catalogA_expression`和catalogB_expression
); 这两个设置应该提供一个SpEL表达式,如果以#root
传递适当的节点(即#root.id EQ'explorer-tree-nodes-catalogA'
如果 表示catalogA
的节点的ID设置为explorer-tree-nodes-catalogA
)创建实现
com.hybris.backoffice.widgets.advancedsearch.AdvancedSearchInitializer
的新bean,并根据选定的节点添加适当的条件引入了新的
Advanced Search Engine Generic Initializer
小部件,该小部件指向上一步中创建的bean使用初始化程序和具有高级搜索的初始化程序将
explorerTreeSelectionProxy
中的虚拟套接字连接这样,您将使那些节点按预期工作。
要默认选择那些节点,可以通过以下小部件网格物体更改来实现:
将
PerspectiveContainer
的perspectiveSelected
套接字与Condition Evaluator
连接,以检查其是否为hmc2
将此
条件评估器
的true
套接字与Property Extractor
连接,该套接字将创建com.hybris的新实例。 backoffice.navigation.TreeNodeSelector
将此
属性提取器
的genericOutput
与Explorer Tree
的nodeIdSelected
套接字此解决方案的唯一问题是,每次打开管理控制台时,它将选择该节点。
干杯, Jacek
嗨,
我并没有真正想要实现的目标。 我的猜测是:
Administration Cockpit
左侧的Explorer树包含两个附加节点-每个节点代表不同的目录
当用户登录时,根据他所属的组,将选择一个特定的节点
选择传播到
高级搜索
,最终传播到集合浏览器
,其中显示分配给选定目录的产品列表我是对的吗? 如果是这样,那么用户是否仍然可以更改目录并在
Advanced Search
条件下自由操作? 您正在使用什么版本的SAP CX?干杯, 雅西克
一周热门 更多>