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