Доступ и вывод $ ElementalArea в Silverstripe 4 - PullRequest
0 голосов
/ 29 октября 2018

В проекте Silverstripe 4 у нас есть следующий метод в PageController.php для вывода содержимого страницы в формате JSON:

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 . Elementals позволяет содержимому страницы генерироваться несколькими динамическими / конфигурируемыми блоками.

Для доступа к элементарному я использую следующий код шаблона: $ElementalArea - который возвращает сгенерированный HTML.

Мне нужно заменить следующую строку на строку, которая возвращает HTML, сгенерированный $ElementalArea:

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

Я не уверен в правильном способе сделать это, любые предложения приветствуются.

1 Ответ

0 голосов
/ 29 октября 2018

Точно так же - $this->ElementalArea()->forTemplate().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...