2010年12月22日

KtaiLibrary 0.4

お願いします♪いいねとかつぶやいたりして下さい
 
久々にktailibraryを 一から組み込む。
色々変更されてるのかわかんないけど、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()));?>


でいける。



関連するタグ: 携帯サイト cakephp
あなたにとって有用な記事でしたか?是非ブックマークしておくことをおすすめします。
 




ほわたろう さん

とても参考になりました。ありがとうございました!


ライブラリを配布しちゃったり
webデザイン
Fireworks
HTMLコーディング
CSS
Dreamweaver
携帯サイト
webプログラム
PHP
正規表現
cakephp
MYSQL
javascript
webマーケティング
adwords
analytics
windows7
ショートカットキー
おすすめ情報
サイト
facebook
ライブラリ
配布
アプリ
iphone
ipad
サーバー
さくらサーバー
全ての記事を読む




トップ - 最新の記事一覧 - お問い合わせ