2012-04-12 4 views
1

コントローラーのCakePHPテンプレートファイル(.ctp)をいくつか設定しています。test。私は/test/indextest/searchページを持っていて、それぞれindex.ctpsearch.ctpを使用しています。CakePHP:スタティックな左メニューを効率的にロードする

これらのページにはそれぞれ左側のサイズの垂直メニューセクションがありますが、/test/になるファイルのすべてに同じHTMLコードを含める必要はありません。

この左メニューのコードは次のとおりです。新しいページを作成するたびに、コピーして貼り付けることは避けてください。 testコントローラのすべての.ctpファイルのこのコードを含む別のファイルをロードする方法はありますか?あるいは、私はこれに不適切な方法で近づいていますか?私は今、CakePHP 1.3に付属のデフォルトのテンプレートファイルを学んでいます。また

<div class="actions"> 
    <h3><?php __('Menu'); ?></h3> 
    <ul> 
     <li><?php echo $this->Html->link(__('Product Search', true), array('action' => 'search')); ?></li> 
    </ul> 
</div> 

、私はこの質問を持っていながら、divタグ内のクラス名(「アクション」)の意義は何ですか?

答えて

2

HTMLをelementに入れて簡単に再利用できます。再利用したいHTMLをapp/views/elements/some_element.ctpにあるファイルに置きます。それをあなたが望むものと呼んでください。

その後、あなたのビューやレイアウトファイルにこれを追加します。

echo $this->element('some_element');

actionsは単なるクラスです。唯一の意義は、あなたのCSSでそれを与えることです。

デフォルトのCake CSSとレイアウトを使用すると、actionsは左に浮かぶdivで、bakingで生成されたリンクに簡単にアクセスできます。

+0

あなたは私の質問の両方を釘付けにしました。どうもありがとうございます! – musicliftsme

関連する問題