Невозможно добавить данные в корзину с переменными в массиве данных (только строки) - PullRequest
1 голос
/ 18 февраля 2012

У меня есть страница продукта, и когда пользователь нажимает кнопку «добавить в корзину», запускается функция, указанная ниже, и desk_id и цена анализируются в функции. Затем переменные ссылаются на массив данных тележек, который вставляется в корзину.

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

    function request_desk_booking($desk_id, $price){
    $this->load->model('search_model');

    //Query database to get desk title because parsing strings through the url does not work
    if($query = $this->search_model->desk_details_cart($desk_id)){

        //convert title to string
        $title =  $query['company'].', '.$query['Town'];
        $name =  (string) $title;

        //check to make sure values are not null
        if($desk_id !== null && $price !== null){

            $this->load->library('cart');

            $data = array(
                   'id'      => $desk_id,
                   'qty'     => 1,
                   'price'   => $price,
                   'name'    => $name
            );

            //insert data into cart
            $this->cart->insert($data);
            $this->load->view('request_booking', $data);

        }else{
            $this->load->view('request_booking');
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 19 февраля 2012

Проблема была вызвана ',' на $ title.Все исправлено сейчас, когда я его убрал.Также представляется, что содержимое корзины должно всегда иметь идентификатор, кол-во, цену и имя.Удалите любой из них, и он не добавит товар в корзину.

0 голосов
/ 19 февраля 2012

Библиотека Cart довольно обидчива, предоставляя предварительно проверенные данные.Убедитесь, что ваша переменная $price НЕ имеет знака доллара и что она is_numeric().Количество в порядке, так как вы жестко программируете на 1. id и name оба необходимы, так что они могут также вызвать молчаливый сбой.

Я бы увеличил регистрацию до 4,и пусть он скажет вам, где это пошло не так (как это будет!).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...