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

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

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

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

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

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>