Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Page.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
14 
18 class Page
19 {
23  private $widgetFilter;
24 
28  private $pageRepository;
29 
34  public function __construct(
35  PageRepositoryInterface $pageRepository,
36  FilterEmulate $widgetFilter
37  ) {
38  $this->pageRepository = $pageRepository;
39  $this->widgetFilter = $widgetFilter;
40  }
41 
47  public function getData(int $pageId): array
48  {
49  $page = $this->pageRepository->getById($pageId);
50 
51  if (false === $page->isActive()) {
52  throw new NoSuchEntityException();
53  }
54 
55  $renderedContent = $this->widgetFilter->filter($page->getContent());
56 
57  $pageData = [
58  'url_key' => $page->getIdentifier(),
59  PageInterface::TITLE => $page->getTitle(),
60  PageInterface::CONTENT => $renderedContent,
61  PageInterface::CONTENT_HEADING => $page->getContentHeading(),
62  PageInterface::PAGE_LAYOUT => $page->getPageLayout(),
63  PageInterface::META_TITLE => $page->getMetaTitle(),
64  PageInterface::META_DESCRIPTION => $page->getMetaDescription(),
65  PageInterface::META_KEYWORDS => $page->getMetaKeywords(),
66  ];
67  return $pageData;
68  }
69 }
$pageRepository
__construct(PageRepositoryInterface $pageRepository, FilterEmulate $widgetFilter)
Definition: Page.php:34
$page
Definition: pages.php:8