辅助函数如何手动呈现模板,并回应它

How can helper function render a template manually, and echo it

我有如下助手:

 class IconHelper extends Helper{

     public function showList(){
         //render a template from ctp file
         $template = loadFromTemplate('path/to/my.ctp');
     }
 }

我想要一个函数来呈现 .ctp 模板并 return 它。

我找到了 View Cells:

如果你的内容可以是小的内联模板,那么你可以使用Helper,如下:

 class IconHelper extends Helper{

 public function show($icon){

    $template = '<a class="btn btn-default">'.$icon.'</a>';

    return $template
 }

如果内容保存在模板 CTP 文件 中,最佳做法是使用视图单元格:

 //helper class
 class IconListCell extends Cell{
 public function display($icon){
      //script .....
       $this->set(copmat('icon));
   }
 }
 //file: src/Template/Cell/show.ctp
 <a class="btn btn-default" style="font-size: 40px;width: 70px;">
     <span class="'.$icon.'" id="icon-value-button" data-pack="default">/span>
 </a>