CakePHP : ビューに次のアクションを追加する(get)

メモ:  Category:php

ビューの作成」でデータベースから取得した内容を 表示することができました。

ここでは、次の画面へ遷移するためにリンク(アンカータグ)を作成します。

ビューにリンク(アンカータグ)を作成する

カテゴリーの一覧を表示することができたので、次に選択されたカテゴリーに応じて 投稿された件名を表示する画面へ遷移します。

CakePHP のリクエストに従うと、「/コントローラー名/アクション名/引数」となるので リンクを「/コントローラー名/アクション名/カテゴリー ID」となるように作成します。

CakePHP でリンク(アンカータグ)を作成するには、ヘルパーを使用します。

ヘルパーは、データの整形や表示など一般に必要とされる関数を提供してくれます。ここでは、 HTML ヘルパーを使用して次のようにビューを作成します。

<?php foreach ($categories as $category) { ?>
<ul>
<li><?php echo $html->link($category['Category']['name'],
                           "/forums/topic/".$category['Category']['id']); ?>
</li>
<li><?php echo h($category['Category']['description']) ?></li>
</ul>
<?php } ?>

上記例では、html ヘルパーの link という関数に表示名称とアドレスを渡し、「forums コントローラー」 + 「topic アクション」 + 「カテゴリーの ID」としています。

少しわかりにくいですが、次のようにリンクとしてカテゴリー名が表示されます。

表示イメージ

出力される HTML は、次のようになります。

<ul>
<li><a href="/app/forums/topic/1" >php</a></li>
<li>phpに関する話題</li>
</ul>
<ul>
<li><a href="/app/forums/topic/2" >VB</a></li>
<li>Visual Basicに関する話題</li>
</ul>

bluenote by BBB