EC-CUBE商品登録CSV内に#(シャープ)が含まれるとエラー

水曜日, 7月 22nd, 2009

こんにちは、なかわけです。

今日もEC-CUBEの話。

商品登録の際、管理ページからは#を含むURLが登録できるのに商品登録CSVから登録すると、「メーカURLを正しく入力してください」というようなエラーが表示されてしまいます。

これは、EC-CUBEのURL_CHECKメソッドが甘い(逆に厳しいのか?)ため、ページ内アンカーの#nameをURLとしてみなしてないためです。対処法は以下のようにすればOKでした。

/data/class/SC_CheckError.phpの539行目あたりにURL_CHECKメソッドがあるので、

if( strlen($this->arrParam[$value[1]]) > 0 && !ereg( "^https?://+($|[a-zA-Z0-9_~=:&\?\.\/-])+$", $this->arrParam[$value[1]] ) ) {

if( strlen($this->arrParam[$value[1]]) > 0 && !ereg( "^https?://+($|[a-zA-Z0-9#_~=:&\?\.\/-])+$", $this->arrParam[$value[1]] ) ) {

に変更。
正規表現の中に#(シャープ)を含めるだけです。

Tags:

Leave a Reply

*