Commerce 通常根据实体-属性-值 (EAV) 模型将目录数据存储在多个表中。由于产品属性存储在许多表中,因此 SQL 查询有时又长又复杂。

相比之下,平面目录会动态创建表格,其中每一行都包含有关产品或类别的所有必要数据。平面目录会自动更新——每分钟更新一次,或者根据您的 cron 作业更新一次。平面目录索引还可以加快目录和购物车价格规则的处理。包含多达 500,000 个 SKU 的目录可以作为平面目录快速编入索引。

第 1 步:启用平面目录

  1. 管理侧边栏上,转到Stores > Settings > Configuration

  2. 在左侧面板中,展开目录并选择下面的目录

  3. 展开店面部分并执行以下操作:

    • 使用平面目录类别设置为Yes(如有必要,取消选择使用系统值复选框。)

    • 使用平面目录产品设置为Yes

    平面目录配置

  4. 完成后,单击保存配置

  5. 当提示更新缓存时,点击系统消息中的缓存管理,按照提示刷新缓存。

第 2 步:验证结果

您可以使用两种方法来验证结果。

方法 1:验证单个产品的结果

  1. 管理侧栏上,转到目录>产品

  2. 在编辑模式下打开产品。

  3. 对于Name,将文本添加_TEST到产品名称的末尾。

  4. 单击保存

  5. 在新的浏览器选项卡上,导航到您商店的主页并执行以下操作:

    • 搜索您编辑的产品。

    • 使用导航浏览到其指定类别下的产品。

      如有必要,刷新页面以查看结果。更改会在一分钟内或根据您的Cron计划出现。

    带有平面目录的店面

方法 2:验证类别的结果

  1. 管理侧边栏上,转到Catalog > Categories

  2. 在左上角,确认Store View设置为All Store Views

    如果出现提示,请单击“确定”进行确认。

  3. 在类别树中,选择现有类别,单击添加子类别,然后执行以下操作:

    • 对于类别名称,输入Test Category

    • 完成后,点击保存

      测试子类

    • 展开类别扩展选择器部分的产品并单击重置过滤器以显示所有产品。

    • 选中多个产品的复选框以将它们添加到新类别。

    • 单击保存

    测试类产品

  4. 在新的浏览器选项卡上,导航到商店的主页并使用商店导航浏览到您创建的类别。

    如有必要,刷新页面以查看结果。更改会在一分钟内或根据您的 cron 计划出现。

第三步:移除测试数据

执行以下操作以删除测试数据并恢复原始产品名称和目录配置。

删除测试类别

  1. 管理侧边栏上,转到Catalog > Categories

  2. 在类别树中,选择您创建的测试子类别。

  3. 在右上角,单击“删除” 。

  4. 当提示确认时,单击确定

    这不会删除分配给该类别的产品。

恢复原产品名称

  1. 管理侧边栏上,转到Catalog > Categories

  2. 在编辑模式下打开测试产品。

  3. 删除_TEST您添加到Product Name的文本。

  4. 在右上角,点击保存

恢复原始目录配置

  1. 管理侧边栏上,转到Stores > Settings > Configuration

  2. 在左侧面板中,展开目录并选择下面的目录

  3. 展开店面部分并执行以下操作:

    • 使用平面目录类别设置为No

    • 使用平面目录产品设置为No

  4. 完成后,单击保存配置

  5. 出现提示时,刷新缓存。