色々変更されてるのかわかんないけど、0.4の機能を早速使わせて頂いた。
まず、設置方法。
https://github.com/MASA-P/KtaiLibrary/downloads
からファイルをダウンロード。
絵文字をDLして保存
http://start.typepad.jp/typecast/
あとはダウンロードした ktailibrary と同様の階層にファイルを突っ込んでいく。
・app_controller.php に ktai_app_controller.php の内容を追記
function __redirect_url($url){
if(isset($this->Ktai)){
if($this->Ktai->_options['enable_ktai_session'] &&
($this->Ktai->_options['use_redirect_session_id'] || $this->Ktai->is_imode())){
if(!is_array($url)){
if(preg_match('|^http[s]?://|', $url)){
return $url;
}
$url = Router::parse($url);
}
if(!isset($url['?'])){
$url['?'] = array();
}
$url['?'][session_name()] = session_id();
}
}
return $url;
}
function redirect($url, $status = null, $exit = true){
return parent::redirect($this->__redirect_url($url), $status, $exit);
}
routes.phpを変更
Router::connectNamed(array(), array('argSeparator' => '~'));
Router::connect('/', array('controller' => 'mypages', 'action' => 'index'));
○半角カナに変換
function afterFilter()
{
parent::afterFilter();
if($this->Ktai->is_ktai() || Configure::read('mobileTest')){
$this->output = mb_convert_kana($this->output, 'rak');
}
}
と、afterFilterでやっとかんと、PCサイトでも強制的に半角カナになっちゃう。
なので、ktailibraryを使用せずにやったほうがいいかも。これだけ。
0.4になってからfontを携帯機種ごとに自動的に最適なサイズにしてくれるということで、
早速使ってみた。
class AppController extends Controller
{
var $helpers = array('Ktai');
var $components = array('Ktai');
var $ktai = array(
'use_img_emoji' => true, //画像絵文字を使用
'input_encoding' => 'UTF-8', //入力をUTF-8に変更
'output_encoding' => 'UTF-8', //出力をUTF-8に変更
'output_auto_convert_emoji' => true, //絵文字自動変換を行う
'default_font_size' => 'small',
'use_xml' => true,//これがないとフォントサイズを自動的に変更できない
'style' => array(
'warning' => 'color: #ff0000;', //最初にstyleを登録しておく
)
);
//あとはリダイレクトの処理を ktaiappcontroller.php からコピーしてくる
}
ここで、大切なのは
use_xml を 必ず true にしておくこと
で、適当なビューで
<? $ktai->font('small','div','warning');?>
ここが赤くて小さいもじで表示されれば御の字
<? $ktai->fontend(); ?>
ってやれば携帯機種キャリアに応じて
・フォントサイズは small
・divで囲む
・コントローラーで指定した warning スタイルを適用
で表示される。
はまりポイント!
ここで注意したいのは div タグなどはPCから表示させていると表示されない。
携帯によって変換されるから出ないんだろう。
0.4を使って思ったことは以前は afterfilter で 半角カナとかに変更してたけど、
それをいつのまにか自動的にやってくれるようになった。
しかも最初にスタイルを登録しておくことでビューがすっきりする。
良くできているなと思った。
ついでに、uidの取得方法
○ビューにて
<?=$form->input('uid',array('type' => 'hidden' , 'value' => $this->Ktai->get_uid()));?>
でいける。




