簡體   English   中英

Shopware API 搜索產品端點總數與 stream 不一致

[英]Shopware API search products endpoint total from a stream inconsistent

我有兩個動態產品組

第一:使用變體測試產品

條件:產品等於變體產品

在此處輸入圖像描述

在此處輸入圖像描述

在此處輸入圖像描述

結果總計 7 就像我期望的那樣

二:有源產品

條件:活躍是

在此處輸入圖像描述 我們已經看到 stream ids 被設置為 5 個產品在此處輸入圖像描述

在此處輸入圖像描述

現在我們總共得到 5 個而不是預期的 15 個產品?

為什么不一致,我如何修改我的請求以考慮變體?

您不應依賴stream_ids列作為在任何給定時刻哪個產品顯示在動態產品組中的指標。 這是因為還有更多因素會影響是否向動態產品組中的用戶顯示產品。

您為組定義的過濾器解析為 SQL 查詢,用簡化的術語來說,它會產生類似於WHERE active = 1 AND id IN ('...', '...')結果。 因此stream_ids列不用於 select 組的內容,而是在店面請求中執行包括所有過濾器的整個查詢。 該查詢的結果就是您在動態產品組預覽中看到的結果。

為什么它不與stream_ids的內容完全相關?

Shopware 具有 inheritance 個字段。 如果變體的字段沒有被賦值,它們可能會從它們的父代那里繼承該值。 這可能不會反映在stream_ids的內容中。 事實上,孩子/變體甚至可以繼承stream_ids的內容。

然后是產品組的內容可能會有所不同,具體取決於當前的銷售渠道。 這可能是因為銷售渠道使用不同的語言,因此過濾器中使用的可翻譯字段的內容可能會有所不同。 此外,如果您使用價格過濾器,則可能存在具有多個價格的產品,這些價格可能僅在滿足規則構建器定義的特定條件時才會顯示。

簡而言之,不要指望stream_ids ,它不能反映所有這些變量,但在內部以某種容量使用,用於使緩存無效等。 而是使用預覽來判斷普通用戶在看到產品組時可能會發現什么。 還可以選擇預覽應應用於哪個銷售渠道,具體原因是內容可能因銷售渠道而異。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM