У меня вопрос по длительности флеш-данных CodeIgniter. Проблема связана с электронной коммерцией и регистрацией событий через Facebook Pixel и Google Analytics.
В настоящее время я использую переменную, скажем, для примера она называется
$this->session->flashdata('purchase_total');
Итак, когда я прихожу к «Покупные закончил» раздел, у меня есть два события.
Первое событие (в заголовке)
fbq('track', 'Purchase', {
value: '<?php echo $this->session->flashdata('purchase_total'); ?>',
currency: 'MXN'
});
Второе событие (в нижнем колонтитуле)
ga('ecommerce:addTransaction', {
'id': '<?php echo $this->session->flashdata('id_purchase'); ?>',
'affiliation': 'Printome',
'revenue': '<?php echo $this->session->flashdata('purchase_total'); ?>',
'shipping': '<?php echo $this->session->flashdata('tracking_shipping'); ?>',
'tax': '<?php echo $this->session->flashdata('tax'); ?>',
'currency': 'MXN'
});
ga('ecommerce:send');
Теперь purchase_total
правильно регистрируется в Facebook, но в Google Analytics транзакция регистрируется, но без purchase_total
,
Я проверил Документация библиотеки сеансов CodeIgniter, и это говорит, что flashdata доступен для одного запроса и затем очищен.
Дело в том, что в этом случае я не уверен, будет ли запрос представлен $this->session->flashdata('purchase_total')
или обновить страницу.
В вашем случае я рекомендую использовать
Tempdata
который может держать в течение ограниченного времени (можно установить)
Может хранить данные до обновления / перезагрузки текущей страницы. Как только это переместится на другую страницу, Flashdata будет уничтожен. Он может содержать N раз, но уничтожается при обновлении текущей страницы.
Это нечто за FlashData
, Это может содержать данные многократных перенаправлений, а также N раз. Но это не похоже на сессию. Это похоже на сессию.
Синтаксис : $this->session->mark_as_temp('item', 300);
Tempdata
а также Flashdata
Flashdata TempData
1. Short Time Can hold for Bit long
2. automatically destroyed when page refreshed Can hold until expiration time reaches
3. Page reload not allowed Can Reload or redirect
4. Flashdata name and Value only required Tempdata name, Value only and expiry time Required
Других решений пока нет …