エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


CakePHP 2.3 Search Pluginで検索処理 その1設置方法

      2017/03/12

Search Pluginで検索処理 設置方法

 

プラグイン設置の参考サイト

 
CakePHP 2.0系の Search Pluginで検索処理を作ります。
 
参考にしたのは下記のサイト。文面はふざけている部分もありますが、内容は至ってしっかりしたもので、非常に参考になります。
また、ページャーの処理やソート機能なども Bakeするのではなく、それぞれ解説をしながら作っていきますので非常に勉強になります。
http://torhamzedd.halteria.com/2012/01/cakephp20search-plugin22.html
 
上記のサイトを読みながら、プラグインをダウンロードして、所定の場所にインストールしてください。私の場合は、ダウンロードしたファイルは、最新版の 2.3でした。
 
 

Search Plugin設置の際の注意ポイント

 
ここで注意してほしいのは、Pluginを設置したら「/app/Config/bootstrap.php」にそのことを記述する必要があるということです。(上記のサイトには書かれていません。)
 
「/app/Config/bootstrap.php」の 65行目あたりから Pluginの設定についての記述がありますので、そのあたりに下記のコードを追加しましょう。
 
————–(/app/Config/bootstrap.php)

————–
 
もしくは、70行目あたりにある下記のものをコメントの外に出して、有効にする方法でも OKです。こちらは、Pluginフォルダにあるものはすべて有効にするという記述の方法ですので、すでに有効にしてある場合もあるでしょう。その場合は、上記の記述を書かなくても問題ありません。両方書いていても問題ありません。
 
————–(/app/Config/bootstrap.php)

————–
 
 


 

Search Plugin設置のサンプルコード

 
続いて、テーブルを作りましょう。
こちらも上記サイトにあるものをそのまま使いました。また、データもそのまま入れました。
 
さらに続けて、Model、Controller、Viewを作ります。
Viewは、上記のサイトにあるものをそのままで問題ありませんが、Model、Controllerは、PHPのファイルですのでファイルの先頭に「<?php」を記述するのを忘れないようにしておきましょう。
 
そして、一度表示させて、検索フォームを追加するあたりまでは特に問題ないかと思います。
 
 
ページャーの設定などは、bakeで出てくるものをそのまま使うこともできますので、bakeで作ったところに検索処理を追加する場合などは、ページャーの一覧を表示する「app/View/Elements/pager.ctp」の設定は不要となるでしょう。
 
また、「UserController.php」は、最終的には下記のようになります。
 
————–(/app/Controller/UserController.php)

————–
 
 
ここで、その 1は終了。
ここまでは問題ないでしょうか?
 
そして、ここからはその 2が始まります。
http://torhamzedd.halteria.com/2012/01/cakephp20search-plugin2.html
 
 
paginatorの sortの説明や、その機能を使って並び替えをする処理も特に問題ないと思います。
 
そして、続けて「Searchプラグインの準備」とありますが、これは問題ないでしょう。
すでに最初の方で書きましたが、「/app/Config/bootstrap.php」にプラグインを読み込む設定を記述するという内容ですが、最初のタイミングで記述していないと、おそらく最初の表示確認でエラーが出てここまで進めていないはずですから。
 
 
続けて、Model、Controllerの設定を行いますが、最終的には以下のようになります。
 
————–(/app/Model/User.php)

————–
 
 
————–(/app/Controller/UsersController.php)

————–
 
 
 
【CakePHP 2.3 Search Plugin検索処理 目次】
CakePHP 2.3 Search Pluginで検索処理 その1設置方法
CakePHP 2.3 Search Pluginで検索処理 その2表示件数を動的に変える方法
CakePHP 2.3 Search Pluginで検索処理 その3入力エリア一つで複数の項目を同時に検索する方法
CakePHP 2.3 Search Pluginで検索処理 その4前方一致検索、後方一致検索、不等号による検索、between句による範囲検索
CakePHP 2.3 Search Pluginで検索処理 その5入力項目に複数項目入力した場合の AND検索、OR検索
CakePHP 2.3 Search Pluginで検索処理 その6ORDER、sortソートの機能
CakePHP 2.3 Search Pluginで検索処理 その7queryを使って 日付の範囲検索

 - CakePHP 2.x 3.x

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

CakePHP3のCakeDC/Users、Authでログインなしでもアクセスを許可する設定
CakePHP3のCakeDC/Users、Authでログインなしでもアクセスを許可する設定

CakePHP3の Authコンポーネントや CakeDC/Usersプラグインなどを利用したユーザ管理・認証システムにおいて、ログインしていなくても見ることができるページの設定方法を解説。

CakePHP3でassociatedを使って関連データをまとめて保存する方法(hasOne、hasMany、belongsTo)

CakePHP3で関連データをまとめて保存する方法。hasOne、hasMany、belongsTo等の関連データはassociatedを追加することでまとめて保存することができます。

CakePHP 2.3 テーブルの項目を演算した結果を条件として抽出する方法

アソシエーション(連携)している先のテーブルの項目で演算をする場合の考え方と注意点をサンプルソースを用いて説明しています。分かってしまえば簡単です。

CakePHP3でデータを保存する save()で発生するエラーを確認する方法を解説
CakePHP3でデータを保存する save()で発生するエラーを確認する方法を解説

CakePHP3でデータ保存処理のログを取得する方法。save()では true、falseの戻り値しか取得できないが、saveOrFail()と try…catch文を使いエラーログ、エンティティを取得し、不具合の解析を行う。

CakePHP3にデイトピッカー jQuery UI DatePickerを実装する手順の解説
CakePHP3にデイトピッカー jQuery UI DatePickerを実装する手順の解説

CakePHP3にjQuery UIのDatePickerを実装する手順を説明。併せて、デイトピッカーを設置に関連するCakePHP3の解説と、テーマを変更したり、表記を変更するカスタマイズする方法なども紹介。

CakePHP 2.3 連携先のテーブルの項目で条件抽出する場合

アソシエーション(連携)している先のテーブルの項目で条件抽出する際の考え方と注意点をサンプルソースを用いて説明しています。

CakePHP3の画像、ファイルアップロードプラグインUpload Plugin 3.0の設置解説・その1
CakePHP3の画像、ファイルアップロードプラグインUpload Plugin 3.0の設置解説・その1

CakePHP3でファイル、画像をアップロードするプラグイン、upload plugin 3を導入する手順を解説した記事。3部作のその1で基本的な導入方法の解説で読みながら簡単に導入が可能。

CakePHP 2.3 ログイン、操作履歴、アクセスログ出力

CakePHPでログインや操作履歴などのアクセスログ出力処理を作成します。

CakePHP3でシェルを作成しコマンドラインから実行・CakePHP2との違い
CakePHP3でシェルを作成しコマンドラインから実行・CakePHP2との違い

CakePHP3のシェルスクリプトを作成し、コマンドラインから実行する方法を解説。複数単語をつなげる場合の対応方法がCakePHP2より制限が厳しくなったのでCakePHP3の命名規則の確認が必要だ。

CakePHP 2.3 Model、Controllerの見たい変数の中身をログ出力

CakePHPの Modelや Controllerの変数の中身をログとして出力して見る方法を提供します。