搭配 Shopify 指令碼使用商品搭售
商品搭售可與您商店中已發佈的 Shopify 指令碼併用。在開始於商店使用商品搭售前,請先留意下列事項:
- 運送與付款指令碼與商品搭售完全相容。
- 商品項目指令碼對非搭售的商品項目可正常運作。不過,套用在搭售的商品項目時,僅支援唯讀的方法;會變更商品項目資料的方法不適用於搭售的商品項目。
- 購物車中無法讀取套裝元件。
- 購物車可讀取搭售的商品項目,因此會對其套用 cart methods。
除商品項目指令碼外,其他指令碼預設會套用至商品搭售。若您不希望商店的指令碼套用於商品搭售,建議更新指令碼,使用 variant、product 或 line item 等方法來篩除相關商品。
折扣
由商品項目指令碼建立的折扣不會套用於商品搭售。若要對商品搭售套用折扣,請採取下列任一作法:
- 為該搭售 Create a discount code。
- 手動變更該搭售的價格。
- 使用 Cart transform 調整價格。
商品搭售與 Shopify 指令碼方法
在商店開始使用商品搭售前,請檢視現有指令碼中的方法,確保在搭售商品上能如預期運作。
購物車方法
購物車方法 (例如 subtotal_price、subtotal_price_was 或 total_weight) 的輸出會包含商品搭售。例如,若購物車中有搭售,呼叫 subtotal_price 時,系統會將該搭售的小計一併納入總小計。
購物車方法 .line_items 會包含搭售,因此呼叫 .size 或 .length 時,計數也會包含搭售商品的資訊。
方法 delete_if 是會變更資料的商品項目指令碼方法,可套用於非搭售的商品項目,但不適用於搭售的商品項目。
商品項目方法
唯讀的商品項目方法可用於包含在搭售中的商品項目。唯讀商品項目方法的例子包括 .original_line_price、line_price_was、.line_price_changed?、.properties_was 與 properties_changed?。
若將會變更資料的商品項目方法套用到包含在搭售中的商品項目,系統會予以忽略。此類方法的例子包括 .change_line_price、.change_properties 與 .split。