Codeigniter
[TIPS] Mengatasi Limit Cart yang Tidak Lebih Dari 6 Sampai 10 Item
Pernahkah anda menggunakan fitur "cart" di framework CodeIgniter?
Bagi yang belum pernah, silakan cari dan pelajari cara menggunakannya ;)
Yang jelas saat menggunakan cart, pernahkah anda mengalami saat dimana anda telah memasukkan 10 item kemudian pada proses penginputan selanjutnya, item yang diinput tersebut tidak muncul? Mungkinkah "cart class" pada CodeIgniter hanya bisa menampung tak lebih dari 10 item ???
Masalah tersebutlah yang kali ini akan kita bahas :)
Kenapa "cart class" tak bisa menampung lebih dari 10 item ?
Fitur "cart class" ini intinya mengijinkan kita untuk menyimpan 'item' ke dalam session yang akan aktif selama user menggunakan browser sehingga tidak hilang saat di-refresh. Oleh karena itu, fitur ini menggunakan kapasitas cookies browser untuk menyimpan data-data 'item' tersebut. Kebanyakan browser memiliki kapasitas limit cookies hanya sebesar 4Kb.
Dampak dari penggunaan cookies yang berkapasitas kecil ini ialah kita tidak bisa menyimpan cukup banyak item di dalam cart tersebut. Oleh karena itu biasanya item yang bisa disimpan di dalam cart hanya terbatas dari 6-10 item saja. Tapi tentu saja tidak menutup kemungkinan jumlah yang tersimpan bisa lebih banyak atau kurang dari itu, tergantung dari ukuran dari item tersebut.
Cara menambah kapasitas "cart class"
Sejauh yang saya tahu, tak ada yang bisa kita lakukan untuk menambah kapasitas cookies browser. Lalu bagaimana bisa ita menambah kapasitas penyimpanan item di cart?
Mudah saja, lakukan penyimpanan ke dalam database. Caranya :
1. Buka file config.php yang ada di folder config.
2. Cari kode berikut :
3. Kemudian ubah menjadi :
$config['sess_use_database'] = TRUE;4. Lalu SAVE file tersebut.
5. Selanjutnya buat satu tabel database bernama "ci-session" dengan syntax sql sbb:
CREATE TABLE IF NOT EXISTS `ci_sessions` ( session_id varchar(40) DEFAULT '0' NOT NULL, ip_address varchar(45) DEFAULT '0' NOT NULL, user_agent varchar(120) NOT NULL, last_activity int(10) unsigned DEFAULT 0 NOT NULL, user_data text NOT NULL, PRIMARY KEY (session_id), KEY `last_activity_idx` (`last_activity`) );
Setelah selesai, silakan coba kembali program carting anda. Sudah bisa melakukan input data lebih banyak kan ?Penggunaan database sebagai penyimpanan bagi fitur cart ini tentu saja berpengaruh pada waktu akses yang akan sedikit lebih banyak memakan waktu. Semoga bermanfaat ;)
Posting Komentar
0 Komentar