7月
10
2009

[CakePHP]DebugKitとQdmailを一緒に使うときの注意
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

cakephperさんがキャプチャつきで詳しく解説してくれているDebugKitですが、本当に便利で助かります。
良く今までこれを使わず開発してたな!と(笑)言うくらい便利。無いと困る、もう。

同じくCakePHPの超便利なコンポーネント、Qdmailというメール送信コンポーネントがあるのですが、Qdmailの素晴らしい機能のひとつ*1 としてCakePHPのレイアウトとエレメントを利用してメール本文を生成できるという点があります。

そのため、コントローラで$this->setした値をメール本文で容易に使えるというメリットがあるのですが、DebugKitとQdmailを併用するとこの機能に障害が出てしまいます*2

調べたところ、DebugKitが$this->viewの値を”View”→”DebugKit.Debug”に変えてしまうのがまずいようです。

ですので、とりあえずの対処としてメール送信を行うアクションでは、

$this->view = "View";

をセットして無理やりQdmail側のエラーを防ぐ形で対処しました。
もちろん、このアクションではDebugKitは使えなくなります。

core.phpのdebug値を0にすればDebugKitの効果が切れるので上記対処を行わなくても、debug値0なら問題ないと思いますが、開発中にメール送信を確認したい場合はとりあえず上記で対応できると思います。

恐らくQdmailをいじればDebugKitとの共存もできるような気がするのですが、誰か実現しましたら教えてくださいませ(笑)

  1. 他にもすごくたくさん素晴らしい機能があります。文字化けしないとか、携帯の絵文字に対応してるとか、添付ファイルも簡単に添付できたり、HTMLメールも簡単につくれたり、何でもできちゃう []
  2. Qdmail::text()で本文をセットするのは問題ないのですがQdmail::cakeText()で本文をセットしようとするとエラーが出てメール送信できません []

関連する投稿

Written by suzukenn in: メモ | タグ: ,

コメントはまだありません »

RSS feed for comments on this post.  トラックバックURL


コメントをのこす

| I have been indebted to Aeros Theme. | Background image owner is NASA.