Продолжаю навёртывать на свой интернет-магазин яндекс метрику. Застопорился на учёте товаров положенных в корзину.
На странице товара есть поле, в которое пользователь вводит кол-во, дальше нажимает кнопку "В корзину" на эту кнопку повешан, кроме штатаного, дополнительный обработчик Метрики.
Код выглядит так:
<div class="cart">
<script type="text/javascript">
var yaGoalParams = {
product_id: "<?php echo $product_id; ?>",
name: "<?php echo $model; ?>",
price: <?php echo $price_num; ?>,
quantity: 1
};
</script>
<div><?php echo $text_qty; ?>
<input type="text" name="quantity" size="2" value="<?php echo $minimum; ?>" />
<input type="hidden" name="product_id" size="2" value="<?php echo $product_id; ?>" />
<input type="button" onclick="yaCounter16843852.reachGoal('to_cart_product', yaGoalParams); return true;" value="<?php echo $button_cart; ?>" id="button-cart" class="button" />
</div>
<div><span> <?php echo $text_or; ?> </span></div>
<div><a onclick="addToWishList('<?php echo $product_id; ?>');"><?php echo $button_wishlist; ?></a><br />
<a onclick="addToCompare('<?php echo $product_id; ?>');"><?php echo $button_compare; ?></a></div>
<?php if ($minimum > 1) { ?>
<div class="minimum"><?php echo $text_minimum; ?></div>
<?php } ?>
</div>
Тебе явно нужно использовать Ajax, в котором повесить на поле событие ввода, а во время ввода уже менять твою переменную примерно так: yaGoalParams.quantity = valueFromInput;
Эдик, а можешь привести пример как его навешивать?
Ajax в движке интернет-магазина активно используется, только я пока не понимаю, куда можно лезть, а куда нет.
Посмотри: http://api.jquery.com/val/
И переменную value из данного примера присваивай:
yaGoalParams.quantity = value;
В общем переделал код, на странице присутствовал штатный обработчик добавления в корзину, перенёс всё добро по учёту в него. Получилось так так:
<script type="text/javascript"><!--
$('#button-cart').bind('click', function() {
$.ajax({
... // тут штатный обработчик добавления в корзину
});
var yaGoalParams = {
product_id: "<?php echo $product_id; ?>",
name: "<?php echo $model; ?>",
price: <?php echo $price_num; ?>,
quantity: $('.product-info input[type=\'text\']').val()
};
yaCounter16843852.reachGoal('to_cart_product', yaGoalParams);
});
//--></script>
Эдик всё работает, как надо. Спасибо!
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)