CodeIgniter Add to Cart не вставляет данные в массив Cart, где имя имеет специальный символ - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь добавить add в корзину в CodeIgniter. Теперь проблема в том, что всякий раз, когда я пытаюсь добавить данные в корзину, он вставляет только те данные, имя которых в поле базы данных не имеет специального символа, и игнорирует данные, имя которых в поле базы данных имеет специальный символ. Например, если название продукта, полученное из базы данных, - Jeans & Top, оно проигнорирует его, а примет вместо него Jeans Top. Я попытался использовать & вместо & в базе данных, но та же проблема. Нужно ли сбежать от него где-нибудь в контроллере? Если да, то как? Я новичок в CI. Пожалуйста, помогите мне.

Контроллер:

public function add() {
    $id = $this->input->post('id');
    $product = $this->products_model->get($id);

    $data = array(
      'id' => $id,
      'name' => $product->pro_name,
      'qty' => 1,
      'price' => $product->pro_price,
    );
    // echo "<pre>";
    // print_r($data);

    if($this->cart->insert($data) == TRUE) {
      redirect('cart/show');
    } else {
      die('ERROR ADDING CART');
    }
  }

Модель:

public function get($id) {
    $results = $this->db->get_where('products', array('pro_id' => $id));
    return $results->row();
  }

1 Ответ

0 голосов
/ 03 июля 2018

Откройте файл Cart.php. Найти за var $product_name_rules

Заменить

var $product_name_rules = '\.\:\-_ a-z0-9'; с
var $product_name_rules = '[:print:]

вы можете найти Cart.php в system / library / Cart.php

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