Show Menu
화제×

Products 변수에서의 일반적인 실수

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′x40′
판매량 1: 1
매출 1: 19.99
카테고리 2: 워그(wug)
제품 2: 아주 작은 워그
판매량 2: 2
매출 2: 1,999.98
제품 1 및 매출 2 항목의 쉼표에 주목하십시오. 쉼표는 새 제품 입력을 나타냅니다. 데이터 수집은 위의 내용을 다음과 같이 해석하게 됩니다.
카테고리 1: 위젯
제품 1: 큰 위젯
카테고리 2: 40'x40'
제품 2: 1
판매량 2: 19.99
카테고리 3: 워그
제품 3: 아주 작은 워그
판매량 3: 2
매출 3: 1
카테고리 4: 999.98
판매량 필드가 제품 이름으로 기록되므로 이와 같은 실수는 종종 제품 보고서에 예상치 못한 수치가 기록되는 결과를 가져옵니다. 만약 제품 보고서에서 잘못된 제품 이름을 보게 되는 경우에는, s.products 변수 구현에 쉼표와 같은 예약 문자가 잘못 사용되지 않았는지 검토하십시오.
제품 및 카테고리 이름에는 지원되지 않는 문자가 포함되면 안 됩니다. 제품 이름은 종종 ™, © 및 ®과 같은 문자를 포함할 수 있으므로 s.products 문자열에서 이러한 규칙을 준수하기가 특히 어려울 수 있습니다. 이러한 문자는 s.products에 삽입하기 전에 제품 및 카테고리 값에서 제거해야 합니다. 또한 매출 값에 통화 기호가 포함되지 않도록 해야 합니다. 지원되는 문자는 ASCII 표에서 1-127번입니다.
제품 문자열에 제품 카테고리를 전달하지 않을 경우에는, 아래에서 보듯이 제품 카테고리가 정상적으로 표시되는 위치에 세미콜론을 포함하십시오.
s.products=";product name"

이 경우, 세미콜론은 제품 카테고리에 대한 자리 표시자를 나타냅니다. 제품 문자열에서 세미콜론을 빠뜨리면, "product name"이 카테고리로 카운트되고, 판매량 수가 제품 이름으로 계산되고, 매출이 판매량으로 카운트되는 등 계속 잘못된 항목을 카운트하게 됩니다.