1

私は Cake を初めて使用し、コンテンツをどのように組み合わせる必要があるかを完全には理解していません。

私は5〜6個の静的ページを持っています。それらはデフォルトのPages Controllerで提供されているため、リンクexample.com/pages/page_nameで開いており、それらのビューのみを作成しました。

しかし、このページのいくつかでは、CRUD 機能を追加したいと考えています。

For example:
  example.com/pages/index - static
  example.com/pages/news - have CRUD
  example.com/pages/about - static
  etc.

この問題の解決策の見方: 1. CRUD が必要なページのモデル + コントローラーを作成し、次のようにルーティングします。

Router::connect('/pages/news', array('controller' => 'news', 'action' => 'display'));

私は正しいですか、それとも別のより正しい方法がありますか?

4

2 に答える 2

3

CakePHP は、Model、View、Controller の略である MVC フレームワークです。したがって、基本的に、作成するすべてのリクエストは、大まかに次のことを行うコントローラーを通過する必要があります。

  1. リクエストが DB からのデータを必要とする場合 -> モデルからデータを取得し、モデルからのデータとともにビューに渡します。
  2. リクエストに余分なデータが必要ない場合は、適切なビューに渡します。

あなたの質問に答えるには:はい、「ニュース」コントローラーと「ニュース」モデルが必要です。そのコントローラーを登録し、モデルからデータを取得したら、データをビューに渡す必要があります。

于 2012-07-15T08:28:49.947 に答える
1

Cake/libs/controllers ディレクトリから app/controllers ディレクトリに PagesController をコピーし、他のコントローラーと同様に使用します。function newsモデルをロードするを作成する$this->loadModel()か ( )、通常のコントローラーのように PagesController にモデルを含めることができます。

専用の NewsController を作成することをお勧めしますが、それはあなた次第であり、アプリをどのように編成するかはあなた次第です。あなたが言うように、それがより理にかなっている場合は、NewsController を指す URL を別のものに「エイリアス」することができます。

于 2012-07-15T10:45:43.570 に答える