新一代平台已停用

扩展全局搜索

了解如何定制和扩展全局搜索实现以添加新的搜索类型。

关于此任务

您可以扩展 Sterling Store Engagement 中的全局搜索功能,添加自定义搜索类型。 缺省情况下,只有订单和客户搜索可用。

过程

  1. SCREEN_EXTENSIONS_HOME 下创建以下文件夹结构(如果还没有):SCREEN_EXTENSIONS_HOME/features/global-search
  2. 浏览至 SCREEN_EXTENSIONS_HOME/features/global-search 文件夹。
  3. global-search-extension.module.ts<WORKSPACE>/store-frontend/src/app/features/global-search 文件夹复制到 <WORKSPACE>/store-frontend/store-extensions-src/app/features/global-search 文件夹。
    注: 如果 global-search-extension.module.ts 文件已存在于 <WORKSPACE>/store-frontend/store-extensions-src/app/features/global-search 文件夹中,请勿复制该文件。
  4. 要创建新警报,请执行以下步骤:
    1. 运行以下命令:
      ng g c features/global-search/<componentName> --project=store-extensions --skip-import
    2. global-search-extension.module.ts中更新 @NgModule 修饰符的声明,导出和 entryComponents 属性中的搜索组件类名。
  5. 要为新的搜索组件创建服务或提供者,请执行以下步骤:
    1. 运行命令:ng g s features/global-search/<serviceName> --project
    2. global-search-extension.module.ts中更新 @NgModule 修饰符的提供程序中的服务或提供程序名称。
  6. 在全局搜索配置中注册新的搜索类型。
    store-customization-impl.ts 文件中,使用 JSON 规范更新 extensionGlobalSearchConfigList 属性,如下所示:
    static extensionGlobalSearchConfigList: IGlobalSearchConfig[] =  [
              {
                  type: 'Order',
                  tid: 'Order',
                  iconClass: 'app-icon-receipt',
                  resourceId: 'ISF000039',
                  component: OrderSearchComponent,
                  displayBundleKey: 'orderSearch.TITLE_OrderSearch'
              }
    ]
     
    提供了显示 IGlobalSearchConfig 的各种属性的样本 JSON 规范。
    表 1. 扩展全局搜索
    属性 描述
    type {string} (必需) 搜索类型的唯一标识。
    tid {string} (必需) 用于测试搜索类型的唯一标识。
    component {component}(必需) 要针对搜索类型呈现的组件的引用。
    iconClass{string} (必需) 搜索类型的图标类。
    resourceId {string} (必需) 与搜索类型关联的资源许可权的标识。
    displayBundleKey {string}(必需) 搜索类型的显示文本的束键。
    hide {boolean}(可选) 用于指示是否隐藏搜索类型的标志。