1

Cake PHPで単一のビューで2つのビューをレンダリングするにはどうすればよいですか?

私は以下のように試しました、

view/test/index.ctp で、

echo $this->render('/page1/index');

echo $this->render('/page2/index');

私のビュー/page1/index.ctp、

echo "ページ 1 のコンテンツ";

私のビュー/page2/index.ctp、

echo "ページ 2 のコンテンツ";

私は出力を期待しています、

page1 の私のコンテンツ page2 の私のコンテンツ

しかし、私はpage1 1からコンテンツとして取得しています

どうすればこれを達成できるか教えてください。

4

1 に答える 1

1

(コメントで効果的に回答されているにもかかわらず、この質問が回答済みとして表示されるように回答を追加するだけです)

他の人がコメントで述べたように、コントローラーからレンダリングできるビューは 1 つだけです。要素を使用する必要があります。要素は再利用可能なビュー スニペットです。

というビュー ファイルがある場合my_view.ctp、次のコードを追加して、「hello_world」と「name_details」という 2 つの要素を含めることができます。

$this->element('hello_world'); // <= element with no parameters

// example passing parameters to the element
$this->element('name_details', array('first' => 'John', 'last' => 'smith'));

要素ファイルが入り、、 、 とapp/views/elements呼ばれます。渡したパラメーターは変数として使用できるため、次のようになります。hello_world.ctpname_details.ctpname_details.ctp

First Name: <?php echo $first; ?>
<br />
Last Name: <?php echo $last; ?>

また、コントローラーで設定されたビュー変数は、要素で自動的に使用可能になることに注意してください。

于 2013-08-30T12:43:32.767 に答える