2012-04-12 8 views
0

新しいCakePHPインストールのホームページを変更するときにページコントローラがデフォルトで使用されていることがわかりました。私はこれが主に静的ページに使用されていることを読んでいます。私は静的な左手の垂直ナビゲーションバーを作ってみたいですが、私はここから他のコントローラーをどのように使う必要があるのか​​分かりません。/cakeCakePHP:他のコントローラを使用するためにホームページからナビゲートする

私は物事を理解しようとしているので、これは本当に面倒です...例えば、私は/cake/productsを介してデータベースにあるいくつかの製品で何かをすることを可能にするProduct Controllerを持っています。そこで、$this->element('left_menu')を使って左メニューを作った。これには、次の(HTMLコード省略)コードが含まれていて、C:\...\cake\app\views\pages\home.ctpにある。

<?php echo $this->Html->link(__('Product View', true), array('action' => 'products/view')); ?> 

そして、このメニューボタンがクリックされたときに、私は製品コントローラの機能を使用できるように、私は製品コントローラのインデックスページへ(ホームページから)cake/page/productsをルーティングしています。

Router::connect('/pages/products/*', array('controller' => 'products', 'action' => 'index')); 

この左ナビメニューはホームページから働かないが、私はこのメニューのボタンをクリックして/cake/product/...に行くたら、それはページコントローラに相対的であるので、それはもはや機能します。この静的な左のナビゲーションバーを使用して他のコントローラを使用できるようにするにはどうすればよいですか?最終的に、私はこの静的メニューで他のコントローラの機能を使用するようにしたいと思います。私は困惑している!

答えて

1

メニューを適切に配置することについては、app/View/Layouts/default.ctpファイルにすべてのメニュー項目を入れていることを確認してください。

あなたがリンクしているページにいる間、HTMLヘルパーを調べ、リンクを生成させます。時間を節約します。

+0

CakePHPで静的な項目を行うべき場所はどこですか?ヘッダー、フッター、そして(私の場合は)すべてのページに左のナビゲーションバーが必要なので、これは意味をなさないようです。これはすべて1つのファイルで行うことができます。これについて話している記事はありますか? – musicliftsme

+0

はい、それは静的情報を追加する方法です。そして、さまざまなレイアウトを定義して、さまざまなタイプの外観を追加することができます。記事に関しては、わからない。私はYiiに切り替える前にCakePhpを1つのサイトに使用しました(これはステロイドのCakePhpに似ています)。あなたのサイトとあまり遠く離れていない場合は、見てみる価値があるかもしれません。私は、Cakeフレームワークが難しい時に落ちたという印象を受けています... – acorncom

関連する問題