• 締切済み

キャリア別のHTMLを出力する

PHPにてモバイル用のサイトを作ろうと思っています。 如何せん共通化されていないので(昔ほどでは無いですが)まだまだキャリア別のページを作る必要があるのかなと思っています。 リダイレクトでページを分けるとそれぞれ作らないといけないので良い方法を模索しているのですがどのような方法が良いか。 以下のような方法を考えましたが如何でしょうか。 HTMLクラス(基盤)  DoCoMoHTMLクラス(HTMLクラスを継承)  AuHTMLクラス(HTMLクラスを継承)  SoftBankHTMLクラス(HTMLクラスを継承) ページにアクセス時にキャリアごとのHTMLクラスを生成する。 HTMLクラスにはspanタグやdivタグ等のメソッドがあり、それを利用してHTMLとして表示する部分を作っていく。 作ったHTMLを出力する。 $html = Common :: getHTML(); // getHTMLでキャリア判別して new DoCoMoHTML();等を返す // このメソッドはDoCoMoHTMLクラス // <div style="color:#000000;">あいうえ print $html -> div ( "#000000", "あいうえ" ); // </div> print $html -> div(); // <hr>このメソッドはHTMLクラス print $html -> hr(); 基本的な共通タグはHTMLクラスにもって共通では適用できないタグはサブクラスにて実装するようにする。 こうすることによって1ソースでキャリアを意識せずに作ることが可能と思っています。 (細かいところは調整が必要になるかと思いますが) 方法はいろいろありそうですが何か良い案はありませんでしょうか。

みんなの回答

  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.2

俺はサーバーいじれないので、使ったことはありませんが、↓のようなのもあります。 http://labs.yumemi.co.jp/labs/mod/man_contents.html

  • NARH
  • ベストアンサー率82% (88/107)
回答No.1

僕はテンプレートエンジン使ってます。 1.キャリア判別[docomo, au, softbank, iphone, pc] 2.テンプレート読み込み(その際命名規則を使って,要求されたリクエスト _docomo.tmplのようにファイル名を決定) 3.動的部分の書き換え 4.場合によって文字コード変換して表示 のようなフレームワークにしています。 テンプレートエンジンはSmarty のようなサードパーティ製の時もあれば、自作の場合もあります。(動的部分がわかるようにしたHTMLなので) 理由としては、デザイン編集にPHPを触りたくないってだけです。 PHPを修正すると、影響無い事の確認のために、全キャリアテストしろって言われるんだもん。 #いや?昔 au が hdml だったからかも。。。 この方法だとデザイン編集は、該当するテンプレートの修正だけで良いし、1と4は共通処理として実装できるので、2と3だけ担当者に振って分業してます。

関連するQ&A