‘cakephp-plugin’ カテゴリーのアーカイブ

CakePHP:昨日のプラグインのはバグじゃなかった

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

CakePHP1.2ガイドブック
CakePHP1.2ガイドブック
おすすめ平均
starsサンプルコードが提供されず不便
stars入門から応用まで対応

Amazonで詳しく見る by G-Tools

昨日、プラグインの$useTableが効いていないという投稿をしたけれど、あれはバグじゃなかった。なんてことはない。自分の勘違いだった。

class Enquete extends EnqueteAppModel{
  // var $hasMany = array('EnqueteAnswerList'); // ここがミス
  var $hasMany = array('Enquete.EnqueteAnswerList'); // プラグイン名.モデル名でつなげばOK

}

$useTableの問題だけかと思っていたら、明らかにモデルを見ていないような感じの処理を行ったので(画面が真っ白になったり、モデルクラスに作成したメソッドをコールしても呼ばれなかったり…)、CakePHPのCookBookのプラグインモデルのページを確認したらあっさりと答えが書いてあった。

バグ扱いしてすみません〜(T_T)

多分、昨日のもこれが原因だったんだろうな〜。


CakePHP:pluginのModelで$useTableが効かないバグ?

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

CakePHP1.2ガイドブック CakePHP1.2ガイドブック

毎日コミュニケーションズ 2009-06-27
売り上げランキング : 51427
おすすめ平均

Amazonで詳しく見る by G-Tools

(訂正)この記事でCakePHPのバグかと勘違いしていましたが、自分の設定ミスでした。
詳しくは、次の日の投稿を参照のこと。

CakePHP1.2.3を使ってたのであるが、プラグインを開発していて(といっても、1.1で開発したやつを1.2に移植してるだけ)、さて動かすかという算段でアクセスしてみたら、

Error: Database table enquetes for model Enquete was not found.

と言われた。このエラーメッセージから、アンケートプラグインを作っていたのがわかるw
それはともかく、Enqueteモデルでは、

<?php
class Enquete extends EnqueteAppModel
{
  var $name = 'Enquete';
  var $useTable = 'enquete'; // テーブル名はenquetesではなく、enqueteなのだ
}
?>

なのである。ただ、俺は掲示板プラグインも作っているのだが、掲示板プラグインではそんな事にはなってない。掲示板プラグインとアンケートプラグインの違いは、掲示板はbbsテーブルのみだが、アンケートは、enquete, enquete_answer_list, enquete_resultという3つのテーブルを使っている事だ。hasManyとかで参照しているModelの$useTableを見てないんじゃないだろうか?

googleで検索してみたら、以下を発見。
https://trac.cakephp.org/ticket/4131
チケット出てるやん。でもcloseされてるみたい。でもその後に、再現するからもう一度テストしろっていう書き込みが見られるが、スルーされてるっぽい。1.2 RC1の頃のチケットだからなぁ…。

CakePHP 1.2.5が出てたのでひょっとしたら直ってるかな〜と思ってcakeディレクトリを上書きしてみたけれど、結果は変わらず。直ってないやん。

なんか面倒だったので、テーブルを複数系にして対応してしまった。
でも、enquete_answer_listsって、リストなのに複数形ってオイ!!と自分で突っ込みたくなる。正直気持ち悪い。まあとりあえずってことで。


CakePHP: お問い合わせプラグインを作成

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

CakePHP1.1で、お問い合わせプラグインを作りました。
入力項目は、

  1. 名前
  2. メールアドレス
  3. カテゴリー(選択)
  4. 件名
  5. 本文

です。

私が使ってるPEAR::Mailを使ったMailComponentが必要なので、同梱しています。もし、MailComponentが既にある場合は、InquiryControllerの内容を書き換えるか、私が使ってるMailComponentを使ってください。

デモというか、ページの感じは、私のサイトで確認できます。(実際に動いてます)

http://hillclimb.319ring.net/inquiry/

以下のリンクからダウンロード可能です。使用される方はreadme.txtをよく読んでから使用してください。

cake_inquiry_plugin_ver_1.0.zip


CakePHP: 掲示板プラグインを作成しました。

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

CakePHP1.1で、掲示板のプラグインを作成しました。そして、これを自転車でヒルクライムしようぜ!の掲示板に使っています。

http://hillclimb.319ring.net/bbs/

ネットでこういうプラグインないかなって探したんですけど、なんかなさそうだったので、じゃあ簡単なのでも作ってみるかということで。機能的にはショボイんですけど、プラグインを公開してるサイトってあんまりなさそうだったので公開します。
機能は、

  1. 投稿
  2. 投稿への返信
  3. 投稿の削除
  4. ページング
  5. コメントスパム対策キャプチャ画像表示(ON/OFF切り替え可能。ONなら要jpgraph)

というところでしょうか。編集機能はないんだな〜、これが。
なかなかいいアルゴリズムを思いつかなかったが、さっき思いついたのでバージョンアップしたら編集機能もつけるか。
ショボイくせして一応バージョンは1.0ということにします(メジャーリリース?)

インストールの仕方は、zipファイルの同梱しているreadme.txtを読んでいただけるとわかります。まあ、基本的にはDBにbbsテーブル作って、あとはソースをコピペすれば一応は動きます。テストもやったけど(使ってないノートPCにXAMPPインストールしてcakephpセットしてそこにすぐに当プラグインをインストール)、動いたのでOKでしょう。

もし使ってみようと思われた方は、以下をダウンロードしてください。
cake_bbs_plugin_ver_1.0.zip

バグがあったら私に連絡していただけますと助かりますw


Get Adobe Flash playerPlugin by wpburn.com wordpress themes