Show Menu
トピック×

products 変数での一般的なエラー

s.products 変数は、データ収集で使用される構文的に最も複雑な変数です。
コンマ、セミコロン、パイプおよび等号はすべて、変数内で固有の役割を果たします。全体の長さの制限はありませんが、各製品のエントリは、マルチバイト文字を含めて 100 バイト以下とする必要があります。この変数の導入時にエラーが発生するのは無理もないことですが、開発者にとって s.products は売上高、数量、製品名などのトラッキングを可能にする変数であるので、通常はサイトの中で最も重要な変数です。
導入での問題の原因となりがちな、非常に犯しやすいいくつかのエラーについて以下に示します。
カテゴリ、製品名および売上高の合計にはコンマとセミコロンを含めないようにしてください。コンマは、s.products 文字列のエントリを区切るために使用します。セミコロンは、同じトランザクション内に 2 つの製品がある場合に、エントリ内のフィールドを区切るために使用します。これ以外の方法でコンマまたはセミコロンを使用した場合、データ収集では製品エントリが区切られていると想定します。次の例をご覧ください。
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:wugs
製品 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:wugs
製品 3:tiny wug
数量 3:2
売上高 3:1
カテゴリ 4:999.98
このようなエラーによって、多くの場合、製品レポートに予期しない数値が表示されます。これは、数量フィールドが製品名として記録されていることが原因です。製品レポートに無効な製品名が表示される場合は、s.products 変数でコンマなどの予約された文字を誤って使用していないかを確認してください。
製品とカテゴリ名には、サポートされていない文字を含めることはできません。製品名には ™、©、® などの文字が含まれることが多いので、この制約は s.products 文字列では特に難しい場合もあります。これらの文字を製品およびカテゴリの値から削除してから、s.products に配置する必要があります。また、売上高の値に通貨記号が含まれないようにする必要もあります。サポートされる文字は ASCII 表の 1 ~ 127 番の文字です。
この製品文字列に製品カテゴリを渡さない場合は、以下のように、通常製品カテゴリを示す場所にセミコロンを必ず含めてください。
s.products=";product name"

この例では、セミコロンは製品カテゴリのプレースホルダーとなっています。この製品文字列からセミコロンを除外すると、「製品名」はカテゴリと見なされ、数量の数値は製品名と見なされ、売上高は数量と見なされる、といったことが起こります。