2011-01-04 13 views
0

CakePHPを使用して一連のページを作成したいと思っています。ページフォルダ内に単純にビューを作成することはできますが、次のような階層ページを作成したい場合はどうすればよいでしょうか:/ legal/policy/CakePHPページの作成方法

また、たとえば/ legal /どのように私もそれを行うだろう接頭辞としてのみ動作する?

ので、2つの質問:

1)どのように階層ページ 2を作成する)のでdomain.com/legal//法的などの接頭辞を作成する方法は、404を投げたがdomain.com/legal/policyだろうだろうページを表示

ありがとうございました

答えて

1

あなたのやっていることは、CakePHPのルーティングによって処理されています。 「ページ」セクションのマニュアルをチェックインしてください。

は基本的に、あなたはroutes.phpの中で、次のように似たルートを作成しようとしている:

Router::connect('/legal/:page', array('controller' => 'pages' /* or other controllers */, 'action' => 'display'), array('pass' => array('page')); 

/法務/ *をPagesControllerへ::ディスプレイ($ページ= null)を接続します。つまり、最初のパラメータ( "legal /"の後)が$ pageとして渡されます。

それは#1の答えです。

#2の場合、$ pageがnullであるかどうかを確認することをおすすめします。そうであれば、ルート(/ legal /)のルートにいます。そこからあなたの404ページにあなたのPagesController内のリダイレクトをしてください。

+0

どのように/ legalのページを選択するのですか? – Cameron

+0

私はあなたの質問を理解するか分からない。/legal /で始まるアクセスされたURIは、:page(after after/legal /)がdisplay()メソッドのパラメータとして渡され、PagesController :: display()メソッドにルーティングされます。 Controller :: render()メソッドも手動で呼び出す必要があります。 –

1

次にビューを置くことができます:

/app/views/pages/legal/policy.ctp 

それは、その後を介してアクセス可能になります。あなたは/ページを削除したい場合はwww.example.com/pages/legal/policy

/をURLから取得し、Travis Leleuが示唆するようにルーティングを使用します。

関連する問題