2015-04-22 44 views
1

所以我有這個控制器在電子商務網站上使用CodeIgniter的購物車類。CodeIgniter購物車類:如何檢索數組上的獨立值?

它工作正常。它加載課程,將產品添加到購物車,結帳並完成交易。但是,當用戶在結帳時,我需要檢索一些信息(例如產品名稱,ID,價格)以將其發送到Mixpanel(這是一個分析工具)。

我已經添加到我的結賬控制器驗證碼:

// Sends subscription information to mixpanel 
$this->mixpanel_wrapper->people_set($aluno[0]->aluno_id, array(
     '$first_name' => $student[0]->student_first_name, 
     '$last_name'  => $student[0]->student_last_name, 
     '$email'   => $student[0]->student_email, 
     )); 
$this->mixpanel_wrapper->identify($student[0]->student_id); 
$this->mixpanel_wrapper->track_something('Added to cart', array ($this->cart->contents())); 
// Ends mixpanel 

它的工作原理。在我的儀表板中,我看到特定用戶激活了「添加到購物車」事件。但在這個事件中,我看到這樣的事情的性質(即「屬性」號自動mixpanel補充說:

Property: 0 
{"ee55c5260c7d5fe7fe9bc73b0e0cc82c":{"name":"Product 1","price":"99.00","qty":"1","rowid":"ee55c5260c7d5fe7fe9bc73b0e0cc82c","id":"8","subtotal":99,"options":{"category":"business","teacher":"La Gracia","image":"cozinhando.png","type":"course","description":"Montar uma apresentação é como cozinhar. Se você faz um 「catadão」 e coloca tudo na panela, sem ordem ou critério, sai uma gororoba. Uma experiência saborosa exige cuidado e atenção na seleção e preparo dos ingredientes. Nesse curso, aprenda"}},"1bebb39e8f44062ff10639f452ea8f8f":{"name":"Product 2","price":"59.00","qty":"1","rowid":"1bebb39e8f44062ff10639f452ea8f8f","id":"7","subtotal":59,"options":{"category":"creativity","teacher":"Pedro Maciel Guimarães","image":"cover_almodovar.png","type":"course","description":"Conheça a evolução das obras de Almodóvar por duas matrizes únicas: a imitação e o intercâmbio de gêneros. Passando por suas comédias e dramas, veremos como Almodóvar pensou e produziu seus diversos trabalhos, desde suas primeiras referências"}}} 

有2項關於這個車的「產品1」和「產品2」。但事實上,我應該看到這樣的事情:

Property: 0 
Name: Product 1 
Price: 99.00 
Qty: 1 
ID: 8 

Property: 1 
Name: Product 2 
Price: 59.00 
Qty: 1 
ID: 7 

什麼Mixpanel需要的是,我把它轉換成一個數組像這樣設置一個新的用戶:

$this->mixpanel_wrapper->people_set($aluno[0]->aluno_id, array(
    '$first_name'  => $aluno[0]->aluno_primeiro_nome, 
    '$last_name'  => $aluno[0]->aluno_sobrenome, 
    '$email'   => $aluno[0]->aluno_email, 
)); 

任何人都知道我該怎麼找回SP來自CI的購物車類的特殊數據?這樣的事情:

$this->mixpanel_wrapper->track_something('User Logged In', array(
    'Name'    => $this->cart->contents->name, 
    'Product ID'  => $this->cart->contents->id, 
    'Price'   => $this->cart->contents->price, 
    'Quantity'   => $this->cart->contents->qty, 
)); 

我認爲這可能非常簡單,但我被困在這裏(再次)。

回答

2

它會比你display the cart沒有太大的不同。循環購物車陣列,$this->cart->contents(),並處理每個項目。

foreach ($this->cart->contents() as $item) 
{ 
    $this->mixpanel_wrapper->track_something('User Logged In', array(
     'Name'    => $item['name'], 
     'Product ID'  => $item['id'], 
     'Price'   => $item['price'], 
     'Quantity'   => $item['qty'], 
    )); 
} 

否則,通過購物車循環並創建一個Mixpanel可以正確處理的新數組。

+0

解決了這個問題。謝謝! – grpaiva

相關問題