SaaS价格索引

SaaS定价索引通过将资源密集型任务(如索引和价格计算)从Commerce应用程序转移到Adobe的云基础架构来优化站点性能。 此方式让商家能够快速扩展资源以加快价格指数化速度,并更快地为店面服务和连接Commerce服务提供价格更新。

下图显示了当Commerce使用Commerce应用程序中包含的价格索引流程时指向SaaS服务的索引数据流:

默认数据流

启用SaaS价格索引后,数据流会发生变化。 使用Commerce SaaS数据导出执行价格索引。

SaaS价格索引数据流

所有商户都可以从使用SaaS价格索引中受益,但拥有以下特征的项目的商户可以实现最大的收益:

  • 价格不断变化 — 需要重复更改价格以满足战略目标(如频繁促销、季节性折扣或库存减价)的商家。
  • 多个网站和/或客户组 — 在多个网站(域/品牌)和/或客户组中共享产品目录的商家。
  • 多个网站或客户群之间的许多独特价格 — 具有广泛共享产品目录的商家,这些目录包含各个网站或客户群之间的独特价格。 例如,B2B商家具有预先协商的价格或采用不同定价策略的品牌。

使用SaaS价格索引

安装Adobe Commerce Services时,会自动启用SaaS价格索引。 它支持计算所有内置Adobe Commerce产品类型的价格。

要求

  • Adobe Commerce 2.4.4+

先决条件

NOTE
如果需要,可以使用目录适配器禁用Commerce应用程序中的默认价格索引器。

将价格与SaaS价格索引同步

为Adobe Commerce启用SaaS价格索引后,通过同步新信息源来更新店面和Commerce Services中的价格:

bin/magento saas:resync --feed=scopesCustomerGroup
bin/magento saas:resync --feed=scopesWebsite
bin/magento saas:resync --feed=prices

监视器同步进度

要验证数据同步是否正常工作,请确认已成功从Adobe Commerce导出数据,并且数据已成功传递到连接的Commerce服务。 使用部署中的功能板检查这两个步骤。

从导出开始,然后确认投放。

  1. 在Commerce管理员中检查同步状态。

    转到​System > Data Transfer > Data Feed Sync Status

    带有馈送项状态报告的数据馈送同步状态页面 {width="800" modal="regular"}

    同步运行时,馈送数据显示已成功发送的记录。 选择信息源以查看详细信息或解决同步问题。

  2. 确认数据已传送到“连接的Commerce服务”。

    从Commerce管理员转到​System > Data Transfer > Data Management Dashboard

    数据管理功能板显示连接的Commerce服务中已同步的目录数据 {width="700" modal="regular"}

    验证是否显示预期的产品、价格和属性。

TIP
如果数据同步还有其他问题,请参阅查看日志和疑难解答

必要时使用Commerce CLI手动重新同步馈送。 有关重新同步选项和其他故障排除步骤,请参阅​ SaaS Data Export Guide ​中的Manage synchronization

NOTE
如果“数据馈送同步状态”页面在Commerce on Cloud或本地部署的Commerce Admin中不可用,请按照扩展安装说明启用它。

自定义产品类型的价格

自定义产品类型(如基本价格、特殊价格、组价格、目录规则价格等)支持价格计算。

如果您的自定义产品类型使用特定公式计算最终价格,则可以扩展产品价格信息源的行为。

  1. Magento\ProductPriceDataExporter\Model\Provider\ProductPrice类中创建插件。

    code language-xml
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
        <type name="Magento\ProductPriceDataExporter\Model\Provider\ProductPrice">
            <plugin name="custom_type_price_feed" type="YourModule\CustomProductType\Plugin\UpdatePriceFromFeed" />
        </type>
    </config>
    
  2. 使用自定义公式创建方法:

    code language-php
    class UpdatePriceFromFeed
    {
        /**
        * @param ProductPrice $subject
        * @param array $result
        * @param array $values
        *
        * @return array
        */
        public function afterGet(ProductPrice $subject, array $result, array $values) : array
        {
            // Override the output $result with your data for the corresponding products (see original method for details)
            return $result;
        }
    }
    
recommendation-more-help
commerce-help-price-index