CakePHP で特定のコントローラーの時だけ実行する方法
CakePHP の App コントローラーで特定のページだけで常に実行する処理を実装したい場合は下記のように現在のコントローラー名を検索して、マッチした時だけ処理を実行すると良いです。
1 2 3 4 5
if(preg_match('/post|pages/', $this->params['controller'])) { $model_post = ClassRegistry::init('Post'); $post = $model_post->get_posts(); $this->set('recent', $post); }
このコードはページと投稿の時だけ最新の投稿を取得するというコードです。
関連記事
- CakePHP のコンポーネントでコントローラの関数や定義したモデルや変数などを扱う
- CakePHP 1.3 で app_controller でモデルを使う場合は App::import() を使うと思いきや ClassRegistry::init() を使う
- CakePHP 1.3 系から 2.0 系にアップグレードする際の作業と注意点まとめ
- CakePHP で AppController から AppModel のメソッドにアクセスすることは難しい
- CakePHP で LIKE 検索を複数語句で行う際の変わった条件の作り方
- CakePHP のルーティングでドメイン直下に数値の時だけ実行するルールを書く方法
- CakePHP 1.3 系で Shell を使う方法
- CakePHP 1.3 で Paginate を最速で使う方法まとめ
- WordPress でカスタムフィールドの値でソートする際に数値としてソートする方法
- CakePHP でモデル・ビュー・コントローラー間で値を渡す基本的な方法
コメント
コメントは受け付けていません。