为什么codeigniter购物车类不允许名称中的任何特殊字符?

Pav*_*vel 13 php frameworks codeigniter

我在标题中有一个问题 - 为什么codeigniter购物车类不允许名称中的任何特殊字符?当我添加一些普通名称仅包含标准字符的项目时,它就像魅力一样.但是,如果我添加诸如"单词/单词"之类的东西,或者类似的东西,它将不会向购物车添加任何东西.有人可以给我提供一些提示吗?

ipa*_*aus 24

如果您查看Cart.php,您将在第31行看到var $product_name_rules = '\.\:\-_ a-z0-9';.

更改此变量的一个好方法是使用以下代码将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:]';

}
Run Code Online (Sandbox Code Playgroud)

或者您也可以在添加产品时修改它,使用:

$this->cart->product_name_rules = '[:print:]';
$this->cart->insert(array());
Run Code Online (Sandbox Code Playgroud)


小智 11

我刚刚在面对同样的问题时从谷歌发现了这个问题,但是ipalaus提供的答案并没有解决我的问题,因为它仍然不允许希腊字符.经过一番挖掘,我发现了这个:

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

class MY_Cart extends CI_Cart {

    var $product_name_rules = '\d\D';

}
Run Code Online (Sandbox Code Playgroud)

这基本上允许一切.请享用!