我有2個控制器:笨高速緩存控制器問題
cart/
cart/buy
在兩種顯示庫車的內容
<tbody>
<?php foreach($this->cart->contents() as $items): ?>
<tr>
<td><?php echo $items['name'] ?></td>
<td>$ <?php echo $this->cart->format_number($items['price']); ?></td>
<td><?php echo $items['qty'] ?></td>
<td>$ <?php echo $this->cart->format_number($items['subtotal']); ?></td>
</tr>
<?php endforeach; ?>
</tbody>
我的問題是控制器買保持在高速緩存中,當我添加購物車的第一件物品。我的意思是,控制器購物車/有5項和控制器購物車/購買有1項。我不得不按Ctrl + F5查看所有項目
我能解決這個部分:
function buy()
{
$this->output->set_header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT');
$this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
$this->output->set_header('Pragma: no-cache');
$this->output->set_header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
if($this->cart->contents())
{
$this->load->view('web/products/buy_view');
}
else
{
redirect('cart');
}
}
但看,我想知道是否有購物車中的數據,並重定向到另一頁如果購物車是空的。
顯然如果($這個 - > cart->內容()),「留在緩存」,例如在車可以車/填補而空的車/買,直到我按Ctrl F5條件仍然失敗。
有沒有辦法解決這個問題,或者我做錯了什麼?
p.d.在車控制我的加入方法:
function add_item()
{
if($this->cart_model->validate_add_item() == TRUE)
{
redirect('cart');
}
}
我的add方法在車模型:
function validate_add_item()
{
$id = $this->input->post('producto_id');
$cantidad = $this->input->post('cantidad');
$this->db->select('vNombre, dPrecio');
$this->db->where('iIdProducto', $id);
$query = $this->db->get('product', 1);
if($query->num_rows > 0)
{
foreach ($query->result() as $row)
{
$data = array(
'id' => $id,
'qty'=> $cantidad,
'price' => $row->dPrecio,
'name' => $row->vNombre
);
$this->cart->insert($data);
return TRUE;
}
}
else
{
return FALSE;
}
}
我用另一種方法:方法add_item() – csotelo 2012-03-26 21:13:49
好吧,看我的編輯職位 – csotelo 2012-03-26 21:19:13
這有很大幫助,不幸的是我可以」沒有看到問題,但它會幫助別人。我只會給你一個贊成票,祝你好運。 – 2012-03-26 21:21:02