カスタムフィールド<MTTel>に「xx-xxxx-xxxx」もしくは「xxxx-xx-xxxx」といった形式の電話番号が格納されているのですが、携帯コンテンツ向けに電話番号リンクを設定してくれという依頼が来ました。

「だったら設計段階で要求仕様に盛っておいてよ・・・」と思いつつ何とか対応したのでソースを備忘録として残しておこうと思います。


$telno = '<$MTTel encode_php="q"$>';
encode_phpでphpでタグが利用できるようにエンコードして変数$telnoに格納。
qはシングル・クオート、qqはダブルクオート。詳細はマニュアル参照のこと。

$tellnk = str_replace("-","",$telno);
str_replaceは検索文字列に一致したすべての文字列を置換します。詳しくはマニュアル参照のこと。
上のコードでは$telnoの-を削除して変数$tellnkへ格納するように記述しています。

echo '<a href="tel:'. $tellnk .'">'. $telno ."</a>";
上記は電話向けリンクを出力するための記述です。これですでに登録済の電話番号を利用して電話リンクを設定することができましたとさ。爽快爽快・・・。

mcryptエラー対策

phpMyAdminをインストールしたわけですが、ログイン画面に「mcrypt」のエラーメッセージが表示されていました。
ざっと調べたカンジだと「mcrypt」は暗号化するのに必要なようです。
CentOS5の場合下記コマンドでインストールでき、エラーメッセージも表示されなくなりました。

yum install php-mcrypt

phpMyAdminのインストール

テストサーバに「phpMyAdmin」をインストール&設定を実施したので、自分用の備忘録として残しておこうと思います。イントールにはこちらのエントリーを参照させていただきました。

font-sizeの設定値

文字コードの壁を突破し、ようやくモバイルサイトのコーディングができるところまでこぎつけました。

スタイルシートで文字の大きさを設定するときfont-sizeプロパティを使用しますが、私はpx指定で
サイトを構築することが多く、キーワードで設定することがないので、記録しておこうと思います。

font-sizeプロパティは以下の通り、xx-smallが最小でxx-largeが最大になります。
xx-small,x-small,small,medium,large,x-large,xx-large

しかし、Docomoだとこの指定では文字の大きさを変えることができませんでした。どうやら宣言文等にコツがいるようです。

pc2mの設定 ~設定編~

動作することは確認できたので任意のサイトを表示できるように設定してみました。
Config.inc.phpをいじることで実現できるようです。

まずは踏み台にされないようにPCからのアクセスを不可にします。
私が利用したバージョンだと161行あたりに「アクセス制御」という項目があり
下記のコードのコメントアウトを解除することでPCからのアクセスができなくなるようです。



ただし、これだとPCからまったく閲覧できなくなってしまうので、表示確認などが行えなくなってしまいます。そこで自分のPCだけは閲覧できるようグローバルIPを設定します。「確認君」などで調べて設定するとよいでしょう。



http://www.foo.bar/の部分を表示したいサイトのURLへ変更するとそのサイトを表示するようになります。
MTOSで構築したあるサイトを携帯でも閲覧できるようにしたいとMT4iの設定を考えましたが、
個人的な思惑から携帯変換スクリプトであるpc2mで対応することにしました。
今回はインストールから動作の確認までの備忘録です。
基本的には作者様のページにある設置マニュアルを見れば問題ないかと・・・

1.こちらから最新版 をダウンロード。
2.ダウンロードしたファイルを解凍後、サーバーへアップロードし、作者様の設置マニュアルにあるように、アップした「data」フォルダのパーミッションの変更(書き込み権限)と「pearpack.zip」のダウンロードし、解凍後出来上がったもののうち「README_PEARPACK.TXT」以外サーバーへアップロードします。
3._check.phpへアクセスし、問題がないかチェックします。
4.上記で問題がなければ、pc2m.phpへアクセスしてみます。私はi-modeシュミレーターⅡでアクセスしてみましたが、問題なく表示されました。

とりあえずここまでは問題なさそうなので、後は作者様のマニュアルを見ながら、適宜カスタマイズしていこうと思います。
別のphpファイルを読み込んで表示させるには <?php include("xxxx.php"); ?>といった具合に
記述しますが、cgiをこれで呼ぶとファイルのソースが表示されcgiを実行してくれません。
そこでgoogleで調べた結果なんとか解決できたので自分用の備忘録として残しておくことにします。

 <?php readfile("URL/xxxx.cgi"); ?>

といった具合に記述すると、cgiを実行してくれるようです・・・
1

管理人

管理人のクリック男爵です。
出向で職場が変わってから備忘録を書く機会が減ってしまいました…。


最近のコメント

カテゴリ アーカイブ