CakePHPで普段使っているpluginをまとめてみた

3

20101220-07

2010年を振り返る意味で、自分がCakePHPで開発する際に良く使うプラグインをまとめてみました。
誰かのお役に立てれば幸いです。


1.cakeplus

■ よく使うバリデーションをまとめたBehaviorであるadd_validation_rule
モデルでバリデーションする際に本当に使います。


var $validate = array(
 		'hoge' => array(
			"rule1" => array('rule' => array('katakana_only'),
 				'message' => 'hogeにカタカナ以外が含まれています'
 			),
 		),
 	);

■ 自動でhiddenタグを生成するヘルパーformhidden

確認画面を挟む際にhiddenに入力情報をまとめて出力してくれます。

echo $formhidden->hiddenVars();

このプラグインを知ってから、CakePHPで作ったサイトには全て組み込んでいるぐらい必須のプラグインです。
フォームを作成する際にはもう手放せません


2.XformHelper

フォーム入力画面と確認画面で共通で使えるヘルパーです。
確認画面を作る際に、確認画面用のviewを作らなくてもよいので大変便利に使わせてもらってます。

例えば、こんなviewをelementに作ったとします。


echo 'タイトル:';
echo $xformjp->input('Post.title');

そうすると、入力画面と確認画面のviewから このelementを読み込むだけで、
・入力画面ではフォームを表示
・確認画面では入力されたテキストを表示
を自動的に切り替えてくれる素敵仕様になっています。
これもまず手放せないプラグインとなっています。


3. cakephp-commentor-plugin

コメントを表示するプラグインです。
投稿はajaxで出来るようになっているので、組み込みも簡単です。

コメントスパム対策プラグインであるAkismetや、連続投稿の防止、IP制限など様々なスパム対策が施されています

使う時はこんな感じでelementを組み込むだけです。


//投稿済みのコメント一覧を表示します
echo $this->element('comments/index', array(
    			'plugin' => 'commentor',
    			'commentParent' => $commentParent,
				));

//投稿フォームを表示します
echo $this->element('comments/add', array(
    		'plugin' => 'commentor',
		));


4. debug_kit

言わずと知れた最強デバッガー。
POSTやViewへ渡した変数の出力やSQLの表示など、必要な情報をブラウザで確認できるようになります。

これはコンポーネントにプラグインを指定するだけで使えるようになります。


var $components = array('DebugKit.Toolbar');


5. MeioUpload Behavior

画像のアップロードビヘイビア。
プラグイン使用時に画像のフォーム名を指定して、
WWWROOTの下にモデル名 / カラム名 のフォルダを作成すると、該当箇所に勝手にアップロードしてくれます。

リサイズのサイズ設定も初期値を設定してあげるだけで自動的によしなにしてくれます。

    var $actsAs = array(
        'Meioupload.MeioUpload' => array(
            'image' => array(
                'thumbsizes' => array(
                //サムネイルのサイズをここで指定します。
    				'large'  => array('width'=>450, 'height'=>450, 'zoomcrop'=>null),
                ),
            ),
        ),
	);

MediaPluginという高機能なファイルアップローダーもあるのですが、画像ファイルだけ上げれば良い場合にはこっちを使う事が多いです。


6. qdmail

PHP高機能日本語メール送信ライブラリ。
メール送信の際はもうこれで良いでしょう的な最強メールClass。

コンポーネントととして利用する場合には、初期値をよしなにしてくれるプラグインcakephp-qdmailerは必須です。

以下はQdmailerを使用したサンプル

$this->Qdmailer->to( "送信先メールアドレス" );
$this->Qdmailer->subject("サブジェクト");
$this->Qdmailer->from( "送信者のメールアドレス" );

//メール本文はelementを使用
$this->Qdmailer->cakeText( $this->data, 'element名', 'default');

//送信処理
if (!$result = $this->Qdmailer -> send()) {

    //メール送信時にエラーが発生した場合にログを出力
	$message = print_r($this->Qdmailer->errorStatment(false),true);
	$this->log($message);
	$this->log($this->data);
}


7. multibox_validation

チェックボックスをグループとして扱うためのビヘイビア。

チェックボックスのチェック数をバリデートできるようになります。
例えば、1個以上、4個以下のチェックの場合にエラーを発生させるような動作なんかに使います。

var $actsAs  = array(
    'MultiboxValidation' => array(
        'name' => 'house',
        'min' => '1',
        'max' => '4',
        'message'=>'1から4個の範囲でチェックしてください'
    ),
);

データはシリアライズされて格納されるのでなかなか便利です。


8. MultivalidatableBehavior

Validationの必須ルールを動的に変更します。
データ登録時と編集時でバリデーションが違ったり、同じModelでもページ毎にバリデーションが違う場合なんかに良く使います。

function register() {
    $this->User->setValidation('register'); 

    //登録時にのみチェックするバリデーションに変更します。
} 

function password() {
    $this->User->setValidation('changePassword'); 

    //パスワード変更時にのみチェックするバリデーションに変更します。
}


9. OrderedBehavior

並び順を指定したり変更する事ができます。
idを指定するだけで、一つ上(下)のデータと順番を入れ替える事ができます。

//一つ上に移動する場合
$this->ModelName->moveup($id);
//一つ下に移動する場合
$this->ModelName->movedown($id);

※bakeryの記事からバージョンが上がっているようです。
リンク先の一番下のコメントに最新版へのリンクがあります。


10. csv Datasource

データベースが使えない場合や、管理更新はCSVを使うと言う場合に重宝します。
CSVを使ったfind、ページングができるようになっています。

$conditions = array(
  "id >" => 10,
  "status" => 1
);
$conditions = array(
  "or" => array(
    "id <=" => 10,
    "status" => 1
  )
);

最後に

CakePHPは最早枯れたフレームワークになって来ていると思います。
もっと便利になるように、みんなで使い倒しましょう。

他にも便利なプラグインがあれば教えてください!

WordPressにGoogle Analyticsを導入できるプラグイン「Ultimate Google Analytics」がすごい!

0

WordPressのアクセス解析にGoogle Analyticsを使用しているのですが、このUltimate Google Analyticsというプラグインを使用するとAnalyticsの設定を自動でする事が可能です。

プラグイン自体の設定はインストール後に、アカウントIDを登録するだけになっています。

アカウントIDはトラッキングコードのソースの中のUA-*******-*の部分です!

_uacct = "UA-*******-*";

これで全てのページにGoogle Analyticsのログが埋め込まれます。

管理者でログイン中にはトラッキングしない

WordPressの管理者画面にログイン中の場合は、Analyticsのログを表示しません。プレビュー表示のカウント数などは含まれないため正確にトラッキングできますね。

外部リンクへのクリック、バナークリックを測定する

googleAnalytics
左のURLが外部URL、右のページビューがクリック数です。

サイト内に外部リンクがある場合にクリック数を自動でカウントしてくれます。
カウント数は「/outgoing/~」というURLで測定されるため、どのリンクがクリックされたかが一目でわかるようになっています。

デフォルトの設定でここまでしてくれるのがすごいですね。WordPressとGoogle Analyticsを使用している方はぜひ使ってみてください。

WordPressをiPhone/Android対応にできるプラグイン「MobilePress」

0

MobilePress
MobilePressはiPhone/Android用に最適化したページを表示する事ができるWordPress用のプラグインです。

※Opera Miniなどのブラウザ対応を想定して作られているため、日本の携帯電話向きではありません。携帯電話に対応したサイトにしたい場合は、Ktai Styleというプラグインを使うと良いと思います。

このプラグインの中にはiPhone用のテーマとMobileブラウザ用のテーマディレクトリがあり、それぞれを編集する事で自由にカスタマイズすることが可能となってます。

インストールも通常のプラグインと同様に簡単に設定可能でした。
iPhone/Android用にサイトを構築されたい方、使ってみてはいかがでしょうか。

WordPressでショッピングカートが作れるプラグイン「GetShopped」

2

shopping_plugin
GetShoppedはWordPressでe-commerceサイトを作る事ができるプラグインです。

e-commerceサイトをオープンソースで構築するにはEC-CUBEなどがありますが、カスタマイズして使うには学習コストが高いなどの難点がありました。

しかし、使いなれたWordPressでショッピングカートを作れるとなると構築もスムーズに行くのではないでしょうか。

WordPressとWordPress MUで動作するようです。

詳しくは以下

WEBサーバーのファイルを管理できるWordPressプラグイン「AjaXplorer」

0

ajaxplorer
AjaXplorerはFTP接続すること無く、WEBサーバー上のファイルを管理する事ができるツールです。PHPとJavaScriptを使用することでエクスプローラー風の画面を表示し、自由にファイルを操作することが可能です。

特徴的なのはGoogle Analyticsを使用してどのファイルがダウンロードされたかなどの統計が取れることです。
スタンドアロンなPHPスクリプトも用意されているようですが、WordPressに組み込むことも可能になっているため、初心者でも簡単に使用することが可能になってます。

ファイルはサムネイル表示や削除など、通常のエクスプローラーと変わらない操作を指定することが可能です。
データベースは特に使用していないとの事なので、PHP5が使用可能であれば動作するようです。

ユーザーにサーバーのファイルを操作させる場合に使用してみるのはいかがでしょうか。

アフィリエイトサイトを簡単につくれるWordPressプラグイン「VC Search」

0

wordpress_plugin3
VC Searchはアフィリエイト検索を簡単に設置する事ができるプラグインです。
あるキーワードから検索してきた結果の一覧画面を自動表示するようになっているようです。
VCとはビジュアル・コマースの意味だそうで、商品写真や地図などのビジュアルから購買までを演出するという事らしいです。

公式サイトにてデモがありますので、設置後の動作を確認できます。

使い方

ダウンロードしたファイルを wp-content/plugins ディレクトリにアップロードし、管理者画面からプラグインを有効化します。

wordpress_plugin4
↑固定ページを作成し、本文に[vcpage]と入力します。

wordpress_plugin2
↑設定画面から各種アフィリエイト用のIDを設定します。

ページの項目に先程作成した固定ページのURL + 「?」を入力するようです。

wordpress_plugin5
WordPressのインストールディレクトリ直下に「cache」フォルダを作成し、パーミッションを777にし設定は完了です。

これで先ほどのページにアクセスしてみると、アフィリエイト用リンクが作成されています。
少しでも収入をアップさせたい方、利用してみてはいかがでしょうか。

WordPressでフォトギャラリーを作成するプラグイン「Featured Content Gallery」

0

Featured Content Gallery
Featured Content Galleryはフォトギャラリーが簡単に作れるWordPressのプラグインです。

インストトール後に
テーマの表示したい位置に以下のタグを挿入すれば動作するようです。

<php
include (ABSPATH . '/wp-content/plugins/featured-content-gallery/gallery.php');
?>

設定はすべて管理画面上でできるようですので、フォトログを作成されたい方はいかがでしょうか。
WordPressを使用すれば一瞬で自分のサイトを思い通りに変換できるようになってきていると感じます。

WordPressの本文を見た目通りに改行するプラグイン

0

WordPressで本文を作成していると、記事に複数改行を入力した場合、一つのpタグにまとめられてしまいます。

わかって使用していれば問題ないのですが、
他人に操作させる場合は、かってに削除されるのは困ります。

そこで改行を改行のまま表示させるプラグイン「brBrbr」を使用してみました。

かなり良い感じです。本文内にコードを入れた場合には改行しないなど使い勝手の良いプラグインではないでしょうか。
WordPressでCMSを作成している方などは導入してみてください。