Mam pytanie tak, jak w tytule - Dlaczego klasa koszyka na zakupy codeigniter nie pozwala na umieszczanie w nim żadnych znaków specjalnych? Kiedy dodaję element o zwykłej nazwie, zawierający tylko standardowe znaki, działa jak czar. Jednak jeśli dodaję coś takiego, powiedzmy "słowo/słowo" lub coś podobnego, to nic nie doda do koszyka. Czy ktoś może mi podać jakieś wskazówki?Dlaczego klasa koszyka produktu codeigniter nie zezwala na używanie w nazwie żadnego znaku specjalnego?
Odpowiedz
Jeśli spojrzeć na Cart.php zobaczysz na linii 31 var $product_name_rules = '\.\:\-_ a-z0-9';
.
Jest to dobry sposób, aby zmienić tę zmienną jest oddanie MY_Cart.php od aplikacji bibliotek \ \ MY_Cart.php z tym kodem:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Cart extends CI_Cart {
var $product_name_rules = '[:print:]';
}
Albo można też modyfikować go podczas dodawania produktu, stosując :
$this->cart->product_name_rules = '[:print:]';
$this->cart->insert(array());
można też ewentualnie tylko zmodyfikować wyrażenie regularne, aby umożliwić cytaty tak:
$this->cart->product_name_rules = "\.\:\-_\"\' a-z0-9";
Właśnie znalazłem to pytanie z Google, gdy napotykałem ten sam problem, ale odpowiedź udzielona przez ipalaus nie naprawiła mojego problemu, ponieważ nadal nie pozwala na używanie znaków greckich. Po jakimś bardziej kopanie Znalazłem to:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Cart extends CI_Cart {
var $product_name_rules = '\d\D';
}
które zasadniczo pozwala wszystko. Cieszyć się!
To wszystko nie pomaga na UTF8 Postacie (ETC serbski), ale zrobiłem coś takiego, przed umieszczeniem w użyciu wykresu jak ten
$name=ucfirst(url_title(convert_accented_characters($name), ' ', TRUE));
i modyfikowane ./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. MongoDB nie zezwala na używanie "." w kluczu
- 2. Perl używając specjalnego znaku &
- 3. dlaczego kropka w nawiasach kwadratowych nie pasuje do żadnego znaku?
- 4. Klasa obudowy Scala nie zezwala na parametry wywoławcze?
- 5. Dekodowanie znaku specjalnego w języku C#
- 6. Aktualizacja koszyka Woocommerce po dodaniu produktu (jQuery)
- 7. Dodawanie specjalnego znaku do wyrażenia regularnego?
- 8. Magento: nie można dodać produktu do koszyka po zamówieniu
- 9. Znaczenie znaku ampersand w nazwie funkcji VB6?
- 10. Google nie zezwala już na używanie WebView. Jakie są alternatywy?
- 11. C90 nie zezwala na użycie% lf w printf, dlaczego?
- 12. Dlaczego Java nie zezwala na przeciążenia na podstawie parametrów typu?
- 13. Używanie "getTypeInstance()" produktu w Magento
- 14. Dlaczego funkcja Task.Delay() zezwala na nieskończone opóźnienie?
- 15. Dlaczego potrzebujemy tego specjalnego operatora ===?
- 16. Dlaczego Hashtable nie zezwala na puste klucze lub wartości?
- 17. woocommerce: Automatyczne przekierowanie do koszyka po dodaniu produktu z kategorii
- 18. Używanie znaku gwiazdy w grep
- 19. Dodanie produktu do koszyka z niestandardową informacją i ceną
- 20. Dodanie produktu promocyjnego po osiągnięciu określonej kwoty koszyka
- 21. Podział zmiennej za pomocą znaku specjalnego - JavaScript - jQuery
- 22. MySQL - jeśli zaczyna się od liczby lub specjalnego znaku
- 23. Dlaczego ten strumień nie zwraca żadnego elementu?
- 24. Pobranie wartości z ciągu znaków po znaku specjalnego
- 25. Dlaczego std :: move na std :: unique_lock nie ma żadnego efektu?
- 26. Dlaczego metoda C# zezwala metodom/elementom na upublicznienie, gdy klasa jest wewnętrzna?
- 27. KeyUsage nie zezwala na podpisy cyfrowe
- 28. Może/Dlaczego używanie znaku * zamiast znaku stałego * w typie zwrotnym powoduje awarie?
- 29. Używanie znaku zapytania w metodach rubinowe
- 30. Obserwator usuniętych przedmiotów z koszyka
Hej, to działa! Thx mate! – Pavel
Bardzo przydatna wskazówka. Myślę, że powinni to naprawić. – Kamil
Dosłownie zapisany dzień. – David