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

2022-01-16 00:00:00 frameworks php codeigniter

我有一个问题,就像标题中一样 - 为什么 codeigniter 购物车类不允许名称中包含任何特殊字符?当我添加一些仅包含标准字符的正常名称的项目时,它就像魅力一样.但是,如果我添加诸如单词/单词"之类的内容,则不会将任何内容添加到购物车中.有人可以给我一些关于那个的提示吗?

I have a question just like in the title - Why codeigniter shopping cart class doesn't allow any special character in the name? When I'm adding some item with normal name containing only standard characters it works like charm. However if I add something like, say, "word / word" or something like that it won't add anything to the shopping cart. Can someone provide me with some hints on that one please?

推荐答案

如果你查看 Cart.php 你会看到第 31 行 var $product_name_rules = '.:-_ a-z0-9';.

If you look on Cart.php you will see on line 31 var $product_name_rules = '.:-_ a-z0-9';.

更改此变量的一个好方法是使用以下代码将 MY_Cart.php 放在您的 applicationlibrariesMY_Cart.php 上:

A nice way to change this variable is putting a MY_Cart.php on your applicationlibrariesMY_Cart.php with this code:

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

class MY_Cart extends CI_Cart {

    var $product_name_rules = '[:print:]';

}

或者您也可以在添加产品时对其进行修改,使用:

Or you can also modify it when you add the product, using:

$this->cart->product_name_rules = '[:print:]';
$this->cart->insert(array());

相关文章