我目前正在开发电子商务系统,我已经处于订购模块的一部分。我正在使用Codeigniter的购物车,这是我第一次这样做。
完成添加到购物车的一部分,但在购物车会话中删除单个项目有问题。当我点击删除时,我的购物车中的所有内容都将被删除。
问题:如何删除购物车中的单个商品?
查看
<?php foreach ($this->cart->contents() as $items): ?>
<tr>
<td><?= $items['name']?></td>
<td><?= $items['qty']?></td>
<td style="text-align:center"><span>₱<?= $this->cart->format_number($items['price'])?></span></td>
<td style="text-align:center"><span>₱<?= $items['subtotal']?></span></td>
<td><a href="<?= base_url().'user/remove_cart'?>"><button class="btn btn-primary btn-sm"><i class="fa fa-times" aria-hidden="true"><?= $this->cart->remove($items['rowid'])?>REMOVE</i></button></a></td>
</tr>
<?php endforeach; ?>
控制器
public function remove_cart($rowid)
{
$removed_cart = array(
'rowid' => $rowid,
'qty' => 0
);
$this->cart->update($removed_cart);
}
}
答案 0 :(得分:1)
您不应该使用Codeigniter中的购物车类。它已被弃用。
你应该实现自己的。我们使用Codeigniter作为我们的自定义电子商务应用程序,我可以告诉您使用更有意义。我从未见过使用Codeigniter购物车类的任何意义。
它只不过是Session的包装。
答案 1 :(得分:1)
此代码删除购物车商品
<td><a href="<?= base_url().'user/remove_cart'?>"><button class="btn btn-primary btn-sm"><i class="fa fa-times" aria-hidden="true"><?= $this->cart->remove($items['rowid'])?>REMOVE</i></button></a></td>
这部分
<?= $this->cart->remove($items['rowid'])?>
此处删除
删除代码,您可以尝试这样做。
<td>
<a href="<?= base_url().'user/remove_cart/'.$items['rowid']; ?>">
<button class="btn btn-primary btn-sm"><i class="fa fa-times" aria-hidden="true">REMOVE</i></button>
</a>
答案 2 :(得分:1)
通过单击按钮删除行的简单方法是使用JQuery
这是我的解决方案:
HTML,PHP:
<table>
<tr>
<td><!--your PHP code--></td>
<td><!--your PHP code--></td>
<td><span>₱<!--your PHP code--></span></td>
<td><a href="<!--your PHP code-->"><button class="remove">REMOVE</button></a></td>
</tr>
<tr>
<td><!--your PHP code--></td>
<td><!--your PHP code--></td>
<td><span>₱<!--your PHP code--></span></td>
<td><a href="<!--your PHP code-->"><button class="remove">REMOVE</button></a></td>
</tr>
</table>
<强> JQuery的:强>
$(document).ready(function(){
$('.remove').click(function(){
$(this).closest('tr').remove();
})
});
这是示例的链接: http://tpcg.io/J0Uv2H
答案 3 :(得分:0)
尝试这样:
function remove($id) {
if ($id === "all"){
$this->cart->destroy();
}
else{
// Destroy selected rowid in session.
$data = array(
'rowid' => $this->input->post('id'),
'qty' => 0
);
$this->cart->update($data);
}
$this->load->view('users/cart_function');
}
检查$ rowid是否有值。