Здравствуйте! Я в JS не очень разбираюсь, но вот понадобилось связать Я.Метрику с системой оплаты. Вот, что у меня получилось:
// этот код считывает все GET параметры
function parseGetParams() {
var $_GET = {};
var __GET = window.location.search.substring(1).split("&");
for(var i=0; i<__GET.length; i++) {
var getVar = __GET[i].split("=");
$_GET[getVar[0]] = typeof(getVar[1])=="undefined" ? "" : getVar[1];
}
return $_GET;
}
var GETArr = parseGetParams();
//Объект метрики для магазина
var yaParams = {
order_id: " 0000",
order_price: 980.0,
currency: "RUR",
exchange_rate: 1,
goods:
[
{
name: "Мой товар - test",
price: 980,
customer_email: "n/a"
quantity: 1
}
]
};
yaParams.order_id = GETArr.order_id; // тут вроде всё правильно.
А вот как добраться до "customer_email"? В мануале яндекса написано: "В расчете параметров магазина order_id и name или id в объектах массива goods используются в качестве ключа, несмотря на то, что находятся на одном уровне с другими свойствами."
Получается, чтобы задать его я должен написать
yaParams.goods.name['Мой товар - test'].customer_email = GETArr.customer_email;
Правильно, или нет? И есть не будет передано параметра customer_email, то в объекте он так и останется "n/a", или сменится на "undefined"?