2017-11-11 120 views
1

是否可以在另一个视图中显示视图?使用CakePHP查看视图内部3

我有以下代码:

<?php if ($result->type === 'brochure') : ?> 
    <div> 
     // massive template block 
    </div> 
<?php elseif ($result->type === 'library') : ?> 
    <div> 
     // massive template block different from above 
    </div> 
<?php else : ?> 
    <div> 
     // massive template block different from both above 
    </div> 
<?php endif; ?> 

我想替换那些内容块可以这么说。我看了一下view blocks,但是我要么用错了,要么没有做到我想要的。

这可能在CakePHP 3中吗?

回答

2

您可以使用该元素。

首先应该建立在SRC /模板/元素目录元素,像这样

// in brochure.ctp file in src/Template/Element 
<div> 
    // your massive template block 
</div> 

.ctp格式,那么你可以这样调用元素:

<?php if ($result->type === 'brochure') : ?> 

     <?= $this->element("brochure") ?> 

<?php elseif ($result->type === 'library') : ?> 

     <?= $this->element("library") ?> 

<?php else : ?> 

     <?= $this->element("default") ?> 

<?php endif; ?> 
+1

它应该是“**吨** emplate“和”** E ** lement“,小写字母的名称将不适用于区分大小写的文件系统。 – ndm