CakePHP の Pagination に関してまとめてみました。 コントローラでコンポーネント、ヘルパーに Pagination を指定 // 使用コンポーネント名 var $components = array('Pagination'); // 使用ヘルパー名 var $helpers = array('Pagination'); コントローラの一覧表示するアクションでの一覧表示取得方法 $this->Pagination->modelClass = 'Model'; // 使用するモデル $this->Pagination->sortBy = 'created'; // デフォルトのソートするフィールド名 $this->Pagination->direction = 'DESC'; // デフォルトの昇順、降順を指定 $this->Pagination->show = 10; /
cakephp1.2RC2の環境を前提にしています。 例えば下記のように、 http://hogehoge.com/hoge/index/id1234 GETでid1234というパラメータ値を渡してそれを検索条件にしているような場合、viewのファイルに下記の1文を記述すればpaginationのURLにもパラメータが引き継がれます。 追記 紛らわしい書き方したみたいですみません。GETで送信されたというのは、フォームからのGETリクエストではなく、URLのリンクの中のパラメータという意味です。例えば、複数のショップの各月の売り上げ一覧画面があるとして、その一覧から特定ショップの各月の売り上げだけを見たいという場合に、一覧画面でショップ名の箇所などに特定ショップのショップIDをURLに含ませたリンク(invoice/index/shop123)を作成し、そこから遷移するようなものを下記の説
CakePHP のページネーション機能を使うと、/hoge/fuga/page:2 のようなコロン区切りパラメータのリンクになってしまいます。 これは気持ち悪いので、何とか /hoge/fuga?page=2 にする方法を考えました。 やはり気になっている方はいるようです。 ページが見つかりませんでした | 15Pub まず、フレームワークの PaginatorHelper を app/views/helpers 以下にコピーします。 $ cp cake/libs/view/helpers/paginator.php app/views/helpers/ 次に、コピーした paginator.php の url メソッドを編集します。 <?php /** * Merges passed URL options with current pagination state to generat
akiyanさんのすばらしい資料を参考にさせていただいていたのだけれど、若干不満があって調べてみた。 極める routes.php (CakePHP 1.2) : akiyan.com スライド28ページ $this->paginate = array('Model' => array( 'options' => array( '?' => array('keyword' => 'fuga'), '#' => 'results', ) );というコードなのだけれど、問題は、2ページ目なんかを表示した時に、 Notice (8): Undefined index: limit [CORE/cake/libs/view/helpers/paginator.php, line 414]というのが発生することだった。これはこれでその場しのぎで回避する方法もあるんだけど調べてみたところ、 cake/
次によく使われるコントローラ属性は、CakePHPに現在のコントローラが、どんなヘルパー、コンポーネント、モデルを使用するのかを伝える属性です。これらの属性により、MVCの各クラスをクラス変数として(例えば、$this->ModelName として)利用できるようになります。 各コントローラは、デフォルトでいくつかのクラスを利用できるようになっています。ですから、コントローラにまったく設定を追加しなくてよい場合もあります。 コントローラは、主要モデルにはデフォルトでアクセスできます。RecipesControllerは、デフォルトで、Recipeモデルに $this->Recipe という方法でアクセスでき、ProductsControllerも $this->Product という形でProductモデルを使うことができます。しかしながら、$uses 変数でコントローラが他のモデルへアク
photo by gregchiasson cakephp.jpのフォーラムや一部のユーザの間でも話題になっていますが、4年間にわたってCakeの発展に貢献してきたプロジェクトマネージャのGarrett Woodworth氏とリードデベロッパのNate Abele氏が10/23頃にCakePHPのプロジェクトを去りました。 そして新たに立ち上げられたのがLithiumというそれまでCake3と呼ばれていたフレームワークのプロジェクトです。 色々と憶測を呼んでいましたが、Nate本人がこのあたりの経緯をLithiumのプロジェクトブログで語っています。 またNateの開発に対する姿勢は一般の開発者にとっても刺さる内容と言えると思いますのでCakeに関心がない方にもおすすめできます。 本人の了解の元に日本語訳を作ったのでここに掲載します。 原文 http://rad-dev.org/li
CakePHPのスピードアップTIPs。 http://www.pseudocoder.com/archives/2009/04/16/one-more-tip-for-speeding-up-cakephp-apps/ コントローラの中で、$usesでモデルをいくつも書いておけば、 $this->Model1->find(); $this->Model1->Model2->find(); みたいにして快適にモデルにアクセスできるのですが、この$usesの配列にモデル名を加えていくと、一つにつき、4-6%表示時間が多くかかるとのこと。試しに7モデルを$usesで読み込むようにしたら、40%も表示時間が増えたそうです (追記:たぶんこの比較は、あるアクションで使うモデルが1つだった場合に、$usesで7モデル定義した場合と、$usesには何も定義せず、該当アクション内で1つのモデルだけloa
Desktop, web3 Opera adds Crypto Browser features to its flagship desktop and mobile browsers and delists the... February 29th, 2024 On March 14th we will no longer be supporting updates for the dedicated Crypto Browser, as its core features have... Gaming, Opera GX Pimp your smartphone with GX Mods, now available in Opera GX on Android and iOS February 8th, 2024 Transform the look and feel of your
CakePHP1.2 RC2 で Schema を試してみました。 基本的な操作は cake コマンドで行います。 PHP でテーブル構造を配列で定義しておいてテーブルを作成することもできますし、現在あるテーブルからテーブル構造を PHP に出力することもできます。 ヘルプの表示 $ cake schema help スキーマの作成 $ cake schema generate schema.php というファイルが app/config/sql に作成される schema.php が存在する場合は上書きするかどうか聞かれる Welcome to CakePHP v1.2.0.7296 RC2 Console --------------------------------------------------------------- App : app Path: /home/cakep
Cakeをさっそく使ってみましょう。このチュートリアルを読んでいるのは、Cakeの動作に関してさらに学びたいと思っているからだと思います。私たちは、生産性を高め、コーディングがさらに楽しいものになることを目指しています。コードを調べているうちに、きっとあなたもそのことに気が付くでしょう。 このチュートリアルでは、シンプルなブログアプリケーションを作成します。Cakeを取得してインストールし、データベースの設定を行い、ブログの投稿記事の一覧表示(list)、追加(add)、編集(edit)、削除(delete)などのアプリケーションロジックを作成します。 必要なもの: 動作しているWebサーバ。Apacheを使っているという前提で書いてありますが、他の種類のサーバを使用する場合でも、ほぼ同じにいけるはずです。サーバの設定についても少し触れますが、たいていの人は、そのままの設定でCake
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く