Show Menu
主題×

產品變數中的常見錯誤

在資料收集所使用的變數中,s.products 變數可能是語意最複雜的一個。
在此變數之中,逗號、分號、垂直號和等號都各有其角色。此變數沒有整體的最大長度,但個別產品項目的長度不可超過 100 位元組 (包含多位元組字元)。在實施此變數時出錯是可理解的,但對於開發人員較棘手的是,s.products 常是網站上最重要的變數,因為此變數可用來追蹤收入、單位、產品名稱等項目。
以下是進行任何實施時都極易犯下而造成問題的錯誤。
請確定您的類別、產品名稱和收入總計中並未使用逗號和分號。逗號可用來分隔 s.products 字串中的項目。若同一筆交易中有兩項產品,可以使用逗號,而分號則可用來分隔一個項目中的多個欄位。若您以任何其他方式使用逗號或分號,資料收集會認定您要分隔產品項目。考量下列範例:
s.products="widgets;large widget, 40′x40′;1;19.99,wugs;tiny wug;2;1,999.98";

在此實施中,開發人員可能想讓資料收集以如下方式加以讀取:
類別 1: 器具
產品 1: 大型器具, 40 呎 x 40 呎
件數 1: 1
收入 1: 19.99
類別 2: wug
產品 2: 小型 wug
件數 2: 2
收入 2: 1,999.98
請留意「產品 1」和「收入 2」項目中的逗號。這些逗號表示新的產品項目。資料收集會將上述項目解譯為:
類別 1: 器具
產品 1: 大型器具
類別 2: 40 呎 x 40 呎
產品 2: 1
件數 2: 19.99
類別 3: wug
產品 3: 小型 wug
件數 3: 2
收入 3: 1
類別 4: 999.98
此類錯誤常會導致「產品」報表中出現非預期的數值,因為件數欄位被記錄為產品名稱。若您在「產品」報表中發現無效的產品名稱,請檢查 s.products 變數實施中是否不當使用了保留字元,例如逗號。
您的產品和類別名稱不應包含不受支援的字元。這在 s.products 字串中會更難處理,因為產品名稱常可能包含 ™、© 和 ® 之類的字元。產品和類別值在放入 s.products 中之前,必須先移除其中的此類字元。您也必須確定收入值中未包含貨幣符號。支援的字元為 ASCII 表格中的數字 1-127。
若您未將產品類別傳入產品字串中,請確實在產品類別顯示之處加入分號 (;),如下所示:
s.products=";product name"

在此案例中,分號代表產品類別的預留位置。若產品字串中沒有分號,則「產品名稱」將會計為類別、件數會計為產品名稱,收入則會計為件數,依此類推。