CakePHP1.2にてKtai Libraryを使って携帯サイトを開発中に躓いた。
僕の場合、モバイル用のviewのlayout.ctpの一行目がこんな感じ。
んで、
「$ktaiなんて無いよ、バカ」と言われても、こちらとしては、
「Controllerに設定しているだろ、バカ」ということになるんですが、cakeError()のソースコードを追ってみたら、Error用に独自にController用意されているみたいで、こりゃダメだわと。
んで、ネットで検索してたどりついたのがこちら。
CakePHPを本気で勉強: cakeError:ErrorHandlerで独自ヘルパーを使用する
それをちょっとカスタマイズして出来たのがコレ。
つうか、ネット上にこういった情報が皆無なのにビックリ。
Ktai Libraryってメジャーでしょ?
みんなエラー処理どうしてんの?
謎だわー。
僕の場合、モバイル用のviewのlayout.ctpの一行目がこんな感じ。
<?xml version="1.0" encoding="<?php echo $ktai->options['output_encoding']; ?>"?>いきなりKtai Library用のHelper呼んでるんだよね。んで、
Notice (8): Undefined variable: ktai なんてオシャレなエラーメッセージを出してくれます。「$ktaiなんて無いよ、バカ」と言われても、こちらとしては、
「Controllerに設定しているだろ、バカ」ということになるんですが、cakeError()のソースコードを追ってみたら、Error用に独自にController用意されているみたいで、こりゃダメだわと。
んで、ネットで検索してたどりついたのがこちら。
CakePHPを本気で勉強: cakeError:ErrorHandlerで独自ヘルパーを使用する
それをちょっとカスタマイズして出来たのがコレ。
# app/app_error.php
/**
* error
*
* @param mixed $params
* @access public
* @return void
*/
function error($params){
$this->controller->helpers[] = 'ktai';
return parent::error($params);
}
/**
* error404
*
* @param mixed $params
* @access public
* @return void
*/
function error404($params){
$this->controller->helpers[] = 'ktai';
return parent::error404($params);
}error404()もついでにやっておいた。つうか、ネット上にこういった情報が皆無なのにビックリ。
Ktai Libraryってメジャーでしょ?
みんなエラー処理どうしてんの?
謎だわー。
コメント