SaaS價格索引
SaaS定價索引可藉由將資源密集的作業(例如索引和價格計算)從Commerce應用程式解除安裝到Adobe的雲端基礎架構,以最佳化網站效能。 此方式可讓商家快速擴充資源,以加快價格指數化時間,並更快速地提供店面價格更新和連線Commerce服務。
下圖顯示當Commerce使用Commerce應用程式中包含的價格索引程式時,指向SaaS服務的索引資料流程:
啟用SaaS價格索引後,資料流程會變更。 使用Commerce SaaS資料匯出執行價格索引。
所有商戶都可以從使用SaaS價格索引中受益,但擁有以下特性專案的商戶可獲得最大的收益:
- 價格持續變動需要重複變更價格以符合策略性目標的商家,例如頻繁促銷活動、季節性折扣或存貨減價。
- 多個網站和/或客戶群組 — 跨多個網站(網域/品牌)和/或客戶群組共用產品目錄的商家。
- 多個網站或客戶群組的許多不重複價格 — 具有廣泛共用產品目錄的商家,其中包含多個網站或客戶群組的不重複價格。 例如B2B商傢俱有預先議價的價格,或品牌具有不同的定價策略。
使用SaaS價格索引
安裝Adobe Commerce Services時,會自動啟用SaaS價格索引。 它支援所有內建Adobe Commerce產品型別的價格計算。
需求
- Adobe Commerce 2.4.4+
先決條件
將價格與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服務。 使用您部署的控制面板來檢查兩個步驟。
從匯出開始,然後確認傳送。
-
在「Commerce管理員」中檢查同步狀態。
前往System > Data Transfer > Data Feed Sync Status。
{width="800" modal="regular"}
同步執行時,摘要資料會顯示已成功傳送的記錄。 選取摘要以檢視詳細資料或疑難排解同步問題。
-
確認資料已傳送至連線的Commerce服務。
從Commerce Admin移至System > Data Transfer > Data Management Dashboard。
{width="700" modal="regular"}
確認已出現預期的產品、價格和屬性。
必要時使用Commerce CLI手動重新同步摘要。 如需重新同步選項及其他疑難排解步驟,請參閱 SaaS Data Export Guide 中的Manage synchronization。
自訂產品型別的價格
自訂產品型別支援價格計算,例如基本價格、特殊價格、群組價格、目錄規則價格等。
如果您的自訂產品型別使用特定公式來計算最終價格,您可以擴充產品價格摘要的行為。
-
在
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> -
使用自訂公式建立方法:
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; } }