如何使用购物车会话Codeigniter

时间:2017-09-21 13:22:18

标签: javascript php html codeigniter

我目前正在开发电子商务系统,我已经处于订购模块的一部分。我正在使用Codeigniter的购物车,这是我第一次这样做。

完成添加到购物车的一部分,但在购物车会话中删除单个项目有问题。当我点击删除时,我的购物车中的所有内容都将被删除。

问题:如何删除购物车中的单个商品?

查看

<?php foreach ($this->cart->contents() as $items): ?>
        <tr>
              <td><?= $items['name']?></td>
              <td><?= $items['qty']?></td>
              <td style="text-align:center"><span>&#8369;<?= $this->cart->format_number($items['price'])?></span></td>
              <td style="text-align:center"><span>&#8369;<?= $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);
    }
}

4 个答案:

答案 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>&#8369;<!--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>&#8369;<!--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是否有值。