Можно ли удалить продукт из корзины, используя идентификатор, заданный в rowid в CodeIgniter? - PullRequest
0 голосов
/ 15 января 2019

Я пользуюсь корзиной CodeIgniter. Я могу добавить товар в корзину и удалить тоже работает.

Теперь, моя проблема в том, можно ли удалить продукт, используя id вместо rowid.

Почему я делаю с id, потому что я хочу дать покупателю добавить один и тот же товар только один раз. Один и тот же продукт не может быть добавлен более одного раза. Поэтому, когда товар добавлен в корзину, я меняю кнопку с add to cart на remove с помощью jQuery. Таким образом, этот сценарий работает для меня, но проблема в том, что когда я обновляю страницу, моя кнопка снова показывает «Добавить в корзину».

Итак, я попытался решить, если товар находится в корзине, а пользователь обновляет страницу, то по-прежнему отображается кнопка remove.

Итак, я попытался

if (in_array($activity_name_id, array_column($this->cart->contents(), 'id'))) {?>
<button type="button" name="remove" class="btn btn-danger btn-xs remove_inventory" id="1">Remove</button>
<?php }else{?>
<button type="button" name="renew" class="btn btn-success add_cart" data-productname="<?php echo $activity_name; ?>" data-price="" data-productid="<?php echo $activity_name_id;?>"/>Add to cart</button><?php }?>

Я пробовал вышеуказанный код на странице просмотра, если пользователь обновляет страницу и товар в корзине, то на нем отображается кнопка remove.

Так что все работает, но проблема в том, что если я нажму на кнопку remove, то продукт не будет удален из корзины, потому что я звоню на id. Также как снова отобразить кнопку add to cart после удаления данного товара.

Вот почему я хочу удалить продукт из корзины, используя id.

Дайте мне знать, я на правильном пути или нет.

Удалить из корзины

$(document).on('click', '.remove_inventory', function(){
  var row_id = $(this).attr("id");
  if(confirm("Are you sure you want to remove this?"))
  {
   $.ajax({
    url:"<?php echo base_url(); ?>Member_controller/Removecart",
    method:"POST",
    data:{row_id:row_id},
    success:function(data)
    {
     alert("Product removed from Cart");
    $('#totalDetails').html(obj.cart_total);          
    $('#totalQty').html("Total items:"+obj.totalQty);
    reloadCart();
    }
   });
  }
  else
  {
   return false;
  }
 });

Удалить код

public function Removecart(){
 $row_id = $_POST["row_id"];
  $data = array(
   'rowid'  => $row_id,
   'qty'  => 0
  );
  $this->cart->update($data);
}

JQuery

$(document).ready(function(){

 $('.add_cart').click(function(){
  var product_name = $(this).data("productname");
  var product_id = $(this).data("productid");
  var product_price = $(this).closest('tr').find('.calActivitylPrice').text();
  var quantity =1 //$('#clubmembershipcheckbox').val();

  var changeToRemoveBTNSec = $(this).closest('tr').find('.display_table');

   $.ajax({
    url:"<?php echo base_url(); ?>Member_controller/addToCart",
    method:"POST",
    data:{product_id:product_id, product_name:product_name, product_price:product_price,quantity:quantity},
    success:function(data)
    {
    var obj = JSON.parse(data);


    $(changeToRemoveBTNSec).html('<button type="button" name="remove" class="btn btn-danger btn-xs remove_inventory" id="'+obj.removebtn+'">Remove</button>');

   // $('#subtotal_details').html('Total cost: INR ' +obj.subtotal);
     $('#totalDetails').html(obj.cart_total);          
     $('#totalQty').html(obj.totalQty);
    }
   });

 });

});

Не могли бы вы помочь мне в этом вопросе?

...