Example #1
0
 /**
  * Renders the view
  *
  * @return string The rendered view
  * @api
  */
 public function render()
 {
     $this->contentObjectRenderer->start($this->variables['data'], 'pages');
     $this->settings = $this->variables['settings'];
     $this->page = $this->factory->createFromAssociativeArray($this->variables['data']);
     $data = ['@context' => ['@vocab' => 'https://schema.org/'], '@type' => 'BlogPosting', '@id' => $this->getGlobalIdentifier(), 'dateModified' => $this->page->getLastUpdatedAt()->format('Y-m-d'), 'datePublished' => $this->page->getCreatedAt()->format('Y-m-d'), 'author' => $this->getAuthor(), 'publisher' => $this->getPublisher(), 'headline' => $this->page->getTitle(), 'description' => strip_tags($this->page->getAbstract()), 'keywords' => $this->page->getKeywords(), 'mainEntityOfPage' => ['@id' => $this->getGlobalIdentifier()]];
     $teaserImage = $this->page->getTeaserImage();
     if (!is_null($teaserImage)) {
         $data['image'] = ['@type' => 'ImageObject', 'url' => '/' . $teaserImage->getValue(), 'width' => '546', 'height' => '171'];
     }
     return json_encode($data, JSON_PRETTY_PRINT | JSON_FORCE_OBJECT);
 }