2012-02-18 3 views
1

商品ページがあります。ユーザーが[カートに追加]ボタンをクリックすると、以下の機能が起動され、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'); 
     } 
    } 
} 

答えて

0

'、' $タイトルで問題が発生していました。すべて私はそれを削除した時点で修正されました。また、カートの内容には必ずID、数量、価格、名前が必要です。これらを削除すると、カートにアイテムが追加されません。

0

カートライブラリは、事前検証されたデータを与えることにかなり敏感です。 $price変数にドル記号がないことと、それがis_numeric()であることを確認してください。ハードコードを1にすると、数量は問題ありません。idnameの両方が必要であるため、サイレントにも失敗する可能性があります。

ロギングを4に増やして、どこが間違っているかを教えてもらいました。