1

Codeigniter のカートを操作しようとしています。私のモデルから利用可能な製品のリストがあります。ただし、カートに追加しようとすると、何も追加されません。商品を正しく返品していないことが原因だと思います。

これが私のモデルです:

  function getHolidayTVProducts()  {
    return array(
        'TVHOL_1000' => array('id' => 'TVHOL_1000', 'qty' => 1, 'price' => 148.50, 'name' => '1,000 to 20,000 - $148.50 USD'),
        'TVHOL_20000' => array('id' => 'TVHOL_20000', 'qty' => 1, 'price' => 178.50, 'name' => '20,000 to 30,000 - $178.50 USD'),
        'TVHOL_30000' => array('id' => 'TVHOL_30000', 'qty' => 1, 'price' => 208.50, 'name' => '30,000 to 40,000 - $208.50 USD'),
        'TVHOL_40000' => array('id' => 'TVHOL_40000', 'qty' => 1, 'price' => 238.50, 'name' => '40,000 to 50,000 - $238.50 USD'),
        'TVHOL_50000' => array('id' => 'TVHOL_50000', 'qty' => 1, 'price' => 268.50, 'name' => '50,000 to 60,000 - $268.50 USD'),
        'TVHOL_60000' => array('id' => 'TVHOL_60000', 'qty' => 1, 'price' => 298.50, 'name' => '60,000 to 70,000 - $298.50 USD'),
        'TVHOL_70000' => array('id' => 'TVHOL_70000', 'qty' => 1, 'price' => 0, 'name' => 'Over 70,000 - Please call')
    );
}

// Function returns an array containing a specific product ID
function getHolidayTVProduct($productID) {
    $array = $this->getHolidayTVProducts();
    return $array[$productID];
}

商品の入手は問題ないようです。これは私のコントローラーです:

        $holiday_products = $this->products->getHolidayTVProducts();
    $holiday_tv_available_products = array('Select Your Circulation'); //placeholder text
    foreach ($holiday_products as $key => $item) {
        $holiday_tv_available_products[$key] = $item['name'];
    }
    $data['products_TVHoliday'] = $holiday_tv_available_products;

    if ($this->form_validation->run() == FALSE) {           
        $this->load->view('templates/header.php', $header);
        $this->load->view('printmedia/holiday', $data);
        $this->load->view('templates/modal.php');
        $this->load->view('templates/footer.php');
    }

    else { 
        $selected_product = $this->products->getHolidayTVProduct($this->input->post('products_TVHoliday'));
        echo $selected_product;
    }

    if ($this->form_validation->run() == TRUE) {
        $products_ID = $this->products->getHolidayTVProduct($this->input->post('products_TVHoliday'));
        $selected_product = $products_ID;
        $this->cart->insert($selected_product);

私の見解から。

              <?php echo form_open('printmedia/themed/holiday-tv'); ?>
              <?php echo form_dropdown('products_TVHoliday', $products_TVHoliday, '', 'class="span6"'); ?>
            </div>
            <div id="winterOrder" class="row-fluid">
                <p><!--Place Special Ordering form here  --></p>
            </div>                
            <div class="row-fluid">
              <?php echo form_submit('processorder', 'Process Order', 'class="btn btn-inverse"');?>
              <?php echo form_close();?>
4

1 に答える 1

0

問題は、製品名の特殊文字にありました:

50,000 to 60,000 - $268.50 USD

ドル記号とカンマを削除した後、カードへの追加が機能しました。

50 000 to 60 000 - 268.50 USD
于 2013-08-02T16:08:01.320 に答える