CakePHPにRubyonRailsのフラグメントに似たものがあるかどうか疑問に思いましたか?
ここで何かを見つけましたtest.ctp
が、Elements
フォルダ内のでこれを試してみると
<?php echo $this->fetch("/Elements/test"); ?>
何も起こりません。
私は何か間違ったことをしていますか、それとも別の方法がありますか?
要素はフラグメントと同等だと思います。elementメソッドは、要素(ビューコードのチャンクを含むファイル)の内容を返すために使用されます。
echo $this->element('some'); // output View/Elements/some.ctp
Fetchは、ビューブロックのコンテンツを返すために使用されるメソッドです。一部は事前にレンダリングされており、メモリ文字列に含まれています。
// app/View/Common/view.ctp
<h1><?php echo $this->fetch('title'); ?></h1>
<?php echo $this->fetch('content'); ?>
<div class="actions">
<h3>Related actions</h3>
<ul>
<?php echo $this->fetch('sidebar'); ?>
</ul>
</div>