ホーム > カスタマイズ

カスタマイズのアーカイブ

Net_UserAgent_Mobile_Error::isDoCoMo()

携帯端末を機種ごとに処理を振り分けるときに便利に利用できるのがPearのNet_UserAgent_Mobileクラスです。
お客様の携帯サイトで利用したことがあるのですが、最近、別の用件でお客様のサイトを確認したところ、
Fatal error: Call to undefined method Net_UserAgent_Mobile_Error::isDoCoMo() というエラーが発生しました。
確認はFireFoxのUser Agent Switcherを利用します。
何度か試している内に端末製造番号付きのときにエラーが発生することに気付きました。

製造番号なし
DoCoMo/2.0 SH901iC(c100;TB;W24H12)

製造番号付き
DoCoMo/2.0 SH901iC(c100;TB;W24H12;ser123456789012345;icc123456789012345)

となると、正規表現が実際の製造番号にマッチできない可能性が大です。
さっそく製造番号をパターンマッチで取得する部分を確認すると

if (preg_match('/^icc(\w{20})?$/', $value, $matches)) {

と、固定されています。
15文字のところが正規表現では20文字で固定されているためこの部分のデータが取得できずにエラーが表示されていたようです。
ここは15文字で固定せずに、

if (preg_match('/^icc(\w{15,20})?$/', $value, $matches)) {

15文字から20文字までと幅を持たせるように修正したところ正常動作するようになりました。

osCommerce 3.0.1から3.0.2へアップデート

osCommerce 3.0.2の管理画面
osCommerce Online Merchant v3.0.1をLet’snoteにインストールしていたので、osCommerceの管理画面からv3.0.2へアップデートしてみた。

管理画面のメニューはシンプルに上部にまとめられている。 [Applications] → [Tools] → [Core Update]と選択して表示される更新画面にアップデートが必要な項目が表示されるので、更新ボタンをクリックして完了した…はずだが、実際には、プログラム部分は更新できたようだけど、画像やスタイルシートのリンクが反映されずに表示がおかしくなった。

そこで、手動でアップグレードする方法を試してみた。ファイルを上書きしてみたけれど、エラーが表示された。time_zoneとdir_fs_publicについて設定が不足しているようだったので、
oscommerce/OM/Config/settings.ini
を開いて、下のように設定した。dir_fs_publicには絶対パスを設定した。


[OSCOM]
bootstrap_file = "index.php"
default_site = "Shop"
time_zone  = "Asia/Tokyo"
dir_fs_public = "C:/xampp/htdocs/oscommerce/public/"

しかし、これでも画像が表示されないのでv3.0.2をダウンロードして入れ替えたら正常に動作した。
ここがうまく動作するようになったら非常に便利だなと思った。

osCommerce Online Merchant v3.0.2

8月6日に、osCommerce Online Merchant v3.0.2がリリースされていました。

「This is a minor release that focuses on bug fixes, framework improvements, and introduction of new Applications.」ということで、不具合の修正やフレームワークの改良などのマイナーリリースだそうです。

 

ホーム > カスタマイズ

Page 2 of 3212345...102030...最後 »
フィード
メタ情報

ページの上部に戻る