<?php foreach ($datas as $data): ?>そして、取り出した$dataから、更に個別の値を取り出して表示しています。以下のような具合です。
<?php echo $data['MySampleData']['id']; ?>$data内には、Model名のキーにそのModelのデータが保管されています。そこから指定の項目の値を取り出して表示しています。データの構造がわかれば別に難しいものではありませんね。
<?php echo $this->Paginator->sort('id');?>$this->Paginatorというのは、Paginatorオブジェクトが保管されているプロパティです。ここから「sort」というメソッドを呼び出しています。sortメソッドは、引数で指定した項目でデータを並べ替えるようにするためのリンクのコードを生成するものです。つまり、「sortで並べ替えを行う」のではなく、あくまで並べ替えのリンクのテキストを生成するものなのですね。実際、これで生成されるリンクを見ると、以下のようなアドレスが<a>タグのhrefに設定されていることがわかります。
http://ホスト名/アプリ名/my_sample_datas/index/page:1/sort:id/direction:ascこのようにしてリンクをクリックすると、indexアクションに必要なパラメータが送られます。これにより、Controllerのpaginateメソッドで表示するデータを取得する際、これらパラメータを元にして並べ替えられたデータから必要なページのデータを取り出すようになる、というわけです。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※index.ctpの例 <h1>Index Page</h1> <p>MySampleData Index View.</p> <table cellpadding="0" cellspacing="0"> <tr> <th><?php echo $this->Paginator->sort('id');?></th> <th><?php echo $this->Paginator->sort('name');?></th> <th><?php echo $this->Paginator->sort('mail');?></th> <th><?php echo $this->Paginator->sort('tel');?></th> </tr> <?php foreach ($datas as $data): ?> <tr> <td><?php echo $data['MySampleData']['id']; ?> </td> <td><?php echo $data['MySampleData']['name']; ?> </td> <td><?php echo $data['MySampleData']['mail']; ?> </td> <td><?php echo $data['MySampleData']['tel']; ?> </td> </tr> <?php endforeach; ?> </table>
<< 前へ | 次へ >> |