Page

Внимание! Этот API устарел начиная с WS 0.95.

Page является устаревшим классом. Он сохранён в CMS, но не должен использоваться в новом коде.

Единой полной замены у класса нет:

  • для получения опубликованной страницы по URL используйте PageManager
  • для данных текущей страницы используйте PageData

Получение страницы по URL

Вместо Page::getPageByUrl() используйте PageManager:

php
$page = (new PageManager())->getPublishedByUrl('contacts');

if ($page === null) {
    return;
}

$title = $page['title'];
$content = $page['content'];

PageManager возвращает только опубликованные страницы и может дополнительно проверить поддержку свободной ссылки.

Данные текущей страницы

Если CMS уже определила страницу текущего запроса, используйте PageData:

php
$title = PageData::getTitle();
$content = PageData::getContent();
$pageId = PageData::getId();

PageData не выполняет поиск произвольной страницы. Он предоставляет данные текущего запроса.

Сохранённый API

Методы класса остаются доступными для поддержки старого кода.

getPage($id): array|false

Получает страницу по идентификатору.

Если страница найдена, метод преобразует её метаданные:

  • исходная структура сохраняется в post_data
  • в meta записываются значения метаполей

Если страница не найдена, возвращается false.

getPageByUrl($url, $publish = false, $freeLink = false): array|false

Получает страницу по URL.

Параметр Тип Описание
$url string URL страницы.
$publish bool Ограничить поиск опубликованными страницами.
$freeLink bool Требовать непустое значение free_link.

Метод возвращает поле meta без дополнительного преобразования.

Ограничения

  • класс использует устаревший объект базы данных
  • параметры подставляются в SQL-запрос без подготовленных выражений
  • не передавайте методам данные, полученные от пользователя
  • ветка getPageByUrl() с $publish = false может сформировать некорректный SQL-запрос
  • PageManager не заменяет получение страницы по идентификатору
  • для нового кода используйте актуальные классы CMS