Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CodeIgniter] Problem z Cart.class
jacek.s
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 19.12.2009

Ostrzeżenie: (0%)
-----


Witam!

Potrzebuję pomocy z koszykiem w CI, korzystam ze standardowego koszyka dostarczanego prze CI (Cart.class).
Problem polega na tym że mogę dodać maksymalnie 2 produkty do koszyka :/

mój kontroler :
  1. function add($id)
  2. {
  3. $data = $this->products_model->get_product($id);
  4. $product = array(
  5. 'id' => $data->id,
  6. 'qty' => 1,
  7. 'price' => $data->price,
  8. 'name' => $data->title,
  9. 'code' => $data->code
  10. );
  11. $this->cart->insert($product);
  12. redirect(base_url().'basket.html');
  13. }


Dane które dostaje napewno są ok (sprawdziłem) ,
po dodaniu trzeciego produktu 0 reakcji :/
$this->cart->total_items(); updarcie pokazuje 2.
Jeśli ktoś miał podobne doświadczenia z CI proszę o rade.

Pozdrawiam

Znalazłem winowajcę , nie respektuje polskich znaków w tytule produktu.
Kodowanie w bazie (MySQL) i w Ci mam ustawione na UTF-8.

To normalne ?

Ten post edytował jacek.s 27.07.2010, 13:37:06
Go to the top of the page
+Quote Post
jarexx
post
Post #2





Grupa: Zarejestrowani
Postów: 37
Pomógł: 2
Dołączył: 1.07.2009

Ostrzeżenie: (0%)
-----


Kiedyś miałem też problem z ogonkami w CI.
Baza miała kodowanie UTF-8, aplikacja w CI również, a wyświetlało "krzaki".
U mnie pomogła edycja pliku database.php z folderu config.
Zamiast UTF-8 wpisałem:
  1. $db['default']['char_set'] = "latin1";
  2. $db['default']['dbcollat'] = "latin1_swedish_ci";

Możesz spróbować czy to rozwiąże problem.
Go to the top of the page
+Quote Post
szok
post
Post #3





Grupa: Zarejestrowani
Postów: 165
Pomógł: 20
Dołączył: 2.03.2006

Ostrzeżenie: (0%)
-----


Klasa cart w CI nie łapie polskich znaków w bibliotece jest wyrażenie regularne:

var $product_name_rules = '\.\:\-_ a-z0-9'; // alpha-numeric, dashes, underscores, colons or periods



--------------------
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




to niech zamieni
var $product_name_rules = '\.\:\-_ a-z0-9';
na
var $product_name_rules = '\.\:\-_ a-ż0-9';

takie wyrażenie regularne, jeśli plik jest w utf-8, już powinno łykać polskie znaki smile.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
zzart
post
Post #5





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 7.02.2011

Ostrzeżenie: (0%)
-----


możesz też stworzyć nową kalse w application/librieries

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

class MY_Cart extends CI_Cart {
function __construct() {
parent::CI_Cart();
// THIS IS FOR POLISH CHARACTERS
$this->product_name_rules = '\,\(\)\"\'\.\:\-_ a-żA-Ż0-9';
}
}

dodać ją do autoload / config
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 05:31