Codeigniter3系のShopping Cart ライブラリで商品がカートに入らない時の対応方法

環境

Codeigniter : 3.1.9

 

CodeigniterのShopping Cart ライブラリを使う場面がある

現在、CodeigniterのShopping Cart ライブラリは使用非推奨です。

 

過去の遺産として、CodeigniterのShopping Cartライブラリを使用している案件がある。

こいつを新しいライブラリに変更するのは、リソースが必要です。

仕方なく現在も使用しています。

 

カートに商品が入らない!

小売系で季節ごとに商品をネット販売するサイトがある。

このサイトでカートに入らない商品を発見した。

 

原因は商品名

商品名に「:」「()」「!」みたいな記号を使っている。

それだけでなく「☆」も使っている。

どうもこれらの記号を商品に使用しているとカートに入らないようだ。

 

指定の記号を使用可にする

デフォルトでは使用できない記号を使用できるようにする。

公式のドキュメントをみるとルールを設定できる変数がある。

 

設定方法は以下になる。


//ライブラリの呼び出し

$this->load->library('cart');

//ルールを追加

$this->cart->product_name_rules  = $this->cart->product_name_rules . "\(\)\!\☆";

 

ルールを完全に無くすこともできるが・・・

以下の設定をするとルールを完全に無くすこともできる。


$this->cart->product_name_safe = FALSE;

 

ただこれを設定してしまうとSQLインジェクションなどの対応がおざなりになってしまうので、おすすめできない

面倒かもしれないが、1つづつルールを指定していくのがベターだと思う。

 

今日はこの辺でー

  • この記事を書いた人

カバノキ

印刷会社のWEB部隊に所属してます。 WEB制作に携わってから、もう時期10年になります。 普段の業務では、PHPをメインにサーバーサイドの言語を扱っています。 最近のお気に入りはJavascriptです。 Vue.jsを狂喜乱舞しながら、社内に布教中です。

-CodeIgniter
-, , ,