ブログ

ExpressionEngineで日本の携帯電話向けサイトが作れるか?というのにトライしています。

ある程度ご存知の方は予想がつくと思いますが、AUとSoftbankの3G端末については、ごくふつうにutf8、xhtml+CSSが使えるので、ファイルサイズや画像の種類さえ注意していれば、普通にEEで開発することができます。

なので、主な問題はdocomo携帯電話と、携帯電話一般の処理をどうやってEEで実現するか、というところに集約されます。

文字コード


 このあたりで変えることができます。




機種振り分け


 EEではPHPを使えるので、これを使えば簡単です。
CP Home › Templates › Template Preferences でAllow PHP?をYesにしておいて、

<?php
if(strstr($_SERVER['HTTP_USER_AGENT'],"DoCoMo")){
  $env 
'docomo';
}elseif(strstr($_SERVER['HTTP_USER_AGENT'],"Vodafone")){
  $env 
'softbank';
}elseif(strstr($_SERVER['HTTP_USER_AGENT'],"SoftBank")){
  $env 
'softbank';
}elseif(strstr($_SERVER['HTTP_USER_AGENT'],"MOT-")){
  $env 
'softbank';
}elseif(strstr($_SERVER['HTTP_USER_AGENT'],"J-PHONE")){
  $env 
'softbank';
}elseif(strstr($_SERVER['HTTP_USER_AGENT'],"KDDI")){
  $env 
'au';
}elseif(strstr($_SERVER['HTTP_USER_AGENT'],"UP.Browser")){
  $env 
'au';
}elseif(strstr($_SERVER['HTTP_USER_AGENT'],"WILLCOM")){
  $env 
'au';
}else{
  $env 
'other';
}
?>
{embed
="<?php echo $env ?>/index"}


というようなコードを書いてあげれば、機種別にdocomo/softbank/auのテンプレートに振り分けることができます。

DocomoのCSS対応


 ke-tai.org > Blog Archive > ドコモ端末でCSSを利用するにはで書かれているとおり、
1. iモード用のXML宣言、DOCTYPEを付ける
2. CSSは外部ファイルにしない、ヘッダ部にも書かない
3. 拡張子を「.xhtml」にする ※別の方法もあり

という条件を整えると、CSSを使うことができます。

1.は、素直にテンプレートの冒頭に書いてあげればOKです。

<?xml version="1.0" encoding="Shift-JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>


2.は、頑張るしかありません。EEが普及してくれば、そのうちCSSを展開してくれるプラグインを書いてくれる人も現れるんじゃないかな、と思うのですけど。

3.ですが、テンプレートの中でこういう風に書いてあげることで実現できます。

<?php
header
("Content-type: application/xhtml+xml");
?>


まとめると、こんな感じです。

<?php header("Content-type: application/xhtml+xml"); ?>
<?xml version
="1.0" encoding="Shift-JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>


もっとも、こういうことをしたとしても、commentとかuserプラグインが生成するコードは携帯電話向けではないので、実質的に使える機能はテンプレート展開とweblogくらいに限定されます。
それでEEをつかうのは...正直ちょっと微妙かもしれないですね^^;

コメント

名前:

メールアドレス:

URL:

コメント:

ログイン情報を記憶

回答コメントをメールで知らせてもらいますか?


下記の文字を記入してください