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:widgets
产品 1:large widget, 40′x40′
件数 1:1
收入 1:19.99
类别 2:wug
产品 2:tiny wug
件数 2:2
收入 2:1,999.98
请注意产品 1 和收入 2 条目中的逗号。这些表示一个新的产品条目。数据收集会将以上代码理解为:
类别 1:widgets
产品 1:large widget
类别 2:40'x40'
产品 2:1
件数 2:19.99
类别 3:wug
产品 3:tiny wug
件数 3:2
收入 3:1
类别 4:999.98
这类错误通常会导致产品报表中出现意外的数值,因为件数字段被记录为产品名称。如果您在产品报表中看到无效的产品名称,请检查 s.products 变量实施是否存在误用保留字符(如逗号)的情况。
产品和类别名称不应包含不受支持的字符。这一问题在 s.products 字符串中尤其严重,因为产品名称通常可能包含 ™、© 或 ® 之类的字符。必须将产品和类别值中的这类字符去除后,方可将其填入 s.products。您还需要确保在收入值中不得包含货币符号。受支持的字符为 ASCII 码表中的数字 1 至 127。
如果不会在产品字符串中传递产品类别,请确保在通常显示产品类别的地方包含一个分号 (;),如下所示:
s.products=";product name"

在这种情况下,分号表示产品类别的占位符。如果分号不在产品字符串之内,则“产品名称”将被计为类别,件数将被计为产品名称,收入将被计为件数,依此类推。