代码之家  ›  专栏  ›  技术社区  ›  BaronGrivet

在Silverstripe 4中访问和输出$ElementalArea

  •  0
  • BaronGrivet  · 技术社区  · 7 年前

    PageController.php

    class PageController extends ContentController
    {
    
     private static $allowed_actions = array(
         'json'
     );
    
     public function json(HTTPRequest $request)
     {
         $data = array();
         $data['ID'] = $this->ID;
         $data['Title'] = $this->Title;
         $data['Breadcrumbs'] = $this->obj('Breadcrumbs')->forTemplate();
         $data['Content'] = $this->obj('Content')->forTemplate();
         $this->response->addHeader('Content-Type', 'application/json');
         return json_encode($data);
     }
    }
    

    现在我想对运行 Elemental module . 元素允许页面内容由许多动态/可配置的块生成。

    要访问elemental,我使用以下模板代码: $ElementalArea -返回生成的HTML。

    我需要用返回 $ElementalArea元 :

    $data['Content'] = $this->obj('Content')->forTemplate();
    

    我不知道该怎么做,任何建议都很感激。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Michal Kleiner    7 年前

    完全一样- $this->ElementalArea()->forTemplate()