我有一個問題就像在標題 - 爲什麼codeigniter購物車類不允許任何特殊字符的名稱?當我添加一些只包含標準字符的普通名稱的項目時,它的作用就像魅力一樣。但是,如果我添加諸如「詞/詞」之類的東西或類似的東西,它不會向購物車添加任何內容。有人可以爲我提供一些提示嗎?爲什麼codeigniter購物車類不允許名稱中包含任何特殊字符?
10
A
回答
20
如果你看Cart.php你會看到在線31 var $product_name_rules = '\.\:\-_ a-z0-9';
。
一個很好的方法來改變這個變量是把一個MY_Cart.php您的應用程序\庫\ MY_Cart.php與此代碼:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Cart extends CI_Cart {
var $product_name_rules = '[:print:]';
}
或者你也可以修改它,當你添加的產品,採用:
$this->cart->product_name_rules = '[:print:]';
$this->cart->insert(array());
1
您還可以任選只需修改正則表達式允許引號,像這樣:
$this->cart->product_name_rules = "\.\:\-_\"\' a-z0-9";
10
我剛剛從谷歌發現這個問題,同時面臨同樣的問題,但答案ipalaus提供並沒有解決我的問題,因爲它仍然不允許希臘字符。一些更多的挖掘後,我發現這一點:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Cart extends CI_Cart {
var $product_name_rules = '\d\D';
}
基本上讓一切。請享用!
0
這一切都不會在UTF8字符(等塞爾維亞),但我做了類似的東西,幫助投入使用圖表這樣
$name=ucfirst(url_title(convert_accented_characters($name), ' ', TRUE));
前和修改./application/config /foreign_chars.php
$foreign_characters = array(
'/ä|æ|ǽ/' => 'ae',
'/ö|œ/' => 'oe',
'/ü/' => 'ue',
'/Ä/' => 'Ae',
'/Ü/' => 'Ue',
'/Ö/' => 'Oe',
'/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ/' => 'A',
'/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª/' => 'a',
'/Ç|Ć|Ĉ|Ċ|Č/' => 'C',
'/ç|ć|ĉ|ċ|č/' => 'c',
'/Ð|Ď|Đ/' => 'D',
'/ð|ď|đ/' => 'd',
'/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě/' => 'E',
'/è|é|ê|ë|ē|ĕ|ė|ę|ě/' => 'e',
'/Ĝ|Ğ|Ġ|Ģ/' => 'G',
'/ĝ|ğ|ġ|ģ/' => 'g',
'/Ĥ|Ħ/' => 'H',
'/ĥ|ħ/' => 'h',
'/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ/' => 'I',
'/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı/' => 'i',
'/Ĵ/' => 'J',
'/ĵ/' => 'j',
'/Ķ/' => 'K',
'/ķ/' => 'k',
'/Ĺ|Ļ|Ľ|Ŀ|Ł/' => 'L',
'/ĺ|ļ|ľ|ŀ|ł/' => 'l',
'/Ñ|Ń|Ņ|Ň/' => 'N',
'/ñ|ń|ņ|ň|ʼn/' => 'n',
'/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ/' => 'O',
'/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º/' => 'o',
'/Ŕ|Ŗ|Ř/' => 'R',
'/ŕ|ŗ|ř/' => 'r',
'/Ś|Ŝ|Ş|Š/' => 'S',
'/ś|ŝ|ş|š|ſ/' => 's',
'/Ţ|Ť|Ŧ/' => 'T',
'/ţ|ť|ŧ/' => 't',
'/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ/' => 'U',
'/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ/' => 'u',
'/Ý|Ÿ|Ŷ/' => 'Y',
'/ý|ÿ|ŷ/' => 'y',
'/Ŵ/' => 'W',
'/ŵ/' => 'w',
'/Ź|Ż|Ž/' => 'Z',
'/ź|ż|ž/' => 'z',
'/Æ|Ǽ/' => 'AE',
'/ß/'=> 'ss',
'/IJ/' => 'IJ',
'/ij/' => 'ij',
'/Œ/' => 'OE',
'/š/' => 's',
'/đ/' => 'd',
'/č/' => 'c',
'/ć/' => 'c',
'/ž/' => 'z',
'/Š/' => 'S',
'/Đ/' => 'D',
'/Č/' => 'C',
'/Ć/' => 'C',
'/Ž/' => 'Z',
'/ƒ/' => 'f'
);
相關問題
- 1. 目錄名稱包含特殊字符
- 2. 防止添加到購物車,如果購物車包含特定類別(WooCommerce)
- 3. Codeigniter購物車
- 4. 允許Windows下文件夾名稱中的特殊字符?
- 5. 問題包含文檔類型名稱的特殊字符 - elasticsearch
- 6. 硒化合物類名稱不允許
- 7. SQL如何查找僅包含特定購物車項目的購物車?
- 8. 爲什麼變量名稱和數據類型名稱被允許使用函數但不包含關鍵字?
- 9. 爲什麼JSON數據不包含特殊字符?
- 10. Magento區域名稱包含特殊字符顯示爲空
- 11. 允許特殊字符爲ng-pattern
- 12. Robot.txt特殊字符不允許
- 13. Store codeigniter購物車
- 14. Codeigniter - 爲什麼加入購物車不起作用?
- 15. 添加到購物車在Codeigniter購物車類
- 16. 如何檢查購物車是否包含任何名義(isRecurring)物品Magento
- 17. 購物車價格不包括特殊產品的價格
- 18. Unicode中的變量名稱中的特殊字符不允許使用?
- 19. 爲什麼數字圖像包含特殊字符的數據?
- 20. 允許iOS中的特殊字符
- 21. 允許asp.net 3.5中的特殊字符
- 22. 允許URLRequest中的特殊字符httpBody
- 23. 斯威夫特:允許特殊字符
- 24. 只允許字母和特殊字符
- 25. 倒車字符串,而不會影響任何特殊字符
- 26. JSON包含特殊字符
- 27. 包含特殊字符
- 28. 如何驗證此字符串不包含Javascript中的任何特殊字符?
- 29. 不允許在字符串中使用特殊字符
- 30. 選擇從數據庫使用名稱包含特殊字符
嘿,這個作品! Thx隊友! – Pavel 2010-09-27 11:54:33
非常有用的提示。我認爲他們應該解決這個問題。 – Kamil 2012-12-08 12:15:57
從字面上節省了一天的時間。 – David 2014-08-20 16:17:50