Корзина Codeigniter не может добавлять товары


Итак, я пытаюсь создать приложение с помощью корзины, и когда я попытался добавить товар, он не работает. Кстати, у меня уже есть работающее приложение для корзины, поэтому мне интересно, почему оно не работает. Я почти все скопировал с рабочего. вот код

Контроллер тележки

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Cart extends CI_Controller {

public function __construct()
{
    parent::__construct();
    $this->load->library('cart');
}

public function add_to_cart(){

    $id = $this->uri->segment(3);
    if($this->cart->contents()){
        foreach ($this->cart->contents() as $item){
            if ($item['id']==$id){
                $data = array('rowid'=>$item['rowid'],
                    'qty'=>++$item['qty']);
                $process = $this->cart->update($data);
            }
            else{
                $data = array(
                    'id'=>$id,
                    'qty'=>1,                       
                    'name' => $this->get_data->get_value('product_name','products','product_id', $id),
                    'price' => $this->get_data->get_value('product_price','products','product_id', $id)
                    );
                $process = $this->cart->insert($data);
            }
        }
    }
    else{
        $data = array('id'=>$id,
                    'qty' =>1,
                    'name' => $this->get_data->get_value('product_name','products','product_id', $id),
                    'price' => $this->get_data->get_value('product_price','products','product_id', $id),
                    );
                    $process = $this->cart->insert($data);
    }


    if($process){
        $this->session->set_flashdata('success', 'Successful');
        redirect('products');
    }
    else{
        $this->session->set_flashdata('failed', 'Failed');
        redirect('products');
        //var_dump($process);
    }
}

Вот кнопка

<div class="button pull-right" style="margin-top: 10px;"><a href="<?php echo base_url().'cart/add_to_cart/'.$row->product_id;?>"><span class="glyphicon glyphicon-shopping-cart"></span>Add to Cart</a></div>

Я действительно не вижу проблемы, я использую базу данных сеансов, база данных sess_us_database уже ВЕРНА. Я попытался использовать var_dump($process), и это неверно, я попробовал var_dump($data), и данные, похоже, в порядке, но часть вставки не работает. Есть идеи, ребята? это было бы большим подспорьем для меня, спасибо.

Author: tereško, 2015-01-29

2 answers

Корзина CI по умолчанию допускает только alpha-numeric, dashes, underscores, colons or periods в названии товара, и если цена товара равна 0, то также он не добавит товар в корзину.

Пожалуйста, сначала проверьте их.

 7
Author: Rajasekhar, 2015-01-29 13:11:56

Хороший способ изменить эту переменную - поместить MY_Cart.php на вашем application\libraries\MY_Cart.php с помощью этого кода:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class MY_Cart extends CI_Cart {

    var $product_name_rules = '[:print:]';

}
 0
Author: noushad mohammed, 2017-11-18 05:14:45