Документы
Документы в Pimcore представляют собой способ управления неструктурированным контентом с использованием страниц, фрагментов контента и навигации.
Типы документов
Pimcore предлагает различные типы документов, и каждый из них обладает функциональностью, специфичной для конкретного случая использования.
| Тип | Описание |
|---|---|
| Page | Представляет собой типичную веб-страницу; путь в дереве соответствует адресу в браузере. |
| Snippet | Позволяет извлекать часто используемый контент в повторно используемые контейнеры, которые можно встраивать в страницы или вложенные во другие фрагменты. |
| Link | Простая веб-ссылка для использования в навигации. |
| Документ, аналогичный странице, но с особой функциональностью для транзакционных писем. | |
| Hardlink | Создание ссылок на другие структуры документов и повторное использование их в другой структуре/контексте. (см. Hard link) |
| Folder | Работает как папки в вашей локальной файловой системе. |
Конфигурация документов
Конфигурация документов связана с архитектурой MVC, поэтому каждому документу требуется контроллер/действие и шаблон, которые специфицированы в настройках документа в интерфейсе администратора:

Не все из них необходимы, в таблице ниже показаны возможные конфигурации:
| Тип | Контроллер | Шаблон | Описание |
|---|---|---|---|
| 1 | X | Выполняется указанный контроллер/экшен. Если действие возвращает объект ответа, он используется для рендеринга. | |
| 2 | X | X | То же, что и выше, но рендерится указанный шаблон, а не автоопределённый шаблон (только если действие не возвращает ответа). |
| 3 | X | Рендерит шаблон с использованием контроллера/экшена по умолчанию, что удобно, если имеется только шаблонный контент. |
Pimcore поставляется с контроллером по умолчанию, содержащим действие по умолчанию, которое вызывается, когда только шаблон задан для документа.
Вы можете задать модуль/пакет по умолчанию, контроллер и действие в конфигурации:
pimcore:
documents:
default_controller:App\Controller\DefaultController::defaultAction
Свойства (Properties)
Свойства обладают большой мощностью в сочетании с документами. Ниже приведены некоторые примеры, где свойства могут быть очень полезными для работы с документами.
- Навигация - Если вы строите навигацию на основе дерева документов, иногда вам нужны специальные настройки для фронтенда, такие как разделители или выделения
- Изображения заголовков - Часто на сайте используются изображения заголовков. Если вы не хотите определять его для каждой страницы, вы можете использовать свойства с наследованием. Вы можете задать значение по умолчанию в корневом документе и переопределить это значение на более глубоком уровне в иерархии дерева.
- Сайдбары - Вы можете легко управлять видимостью боковых панелей в конкретных документах
- SEO - Также возможно использовать свойства для SEO. Определять красивый заголовок и описание для каждой страницы на вашем сайте очень неудобно, с помощью свойств это не требуется (наследование)
- Защищенные области - Закрытые пользовательские группы
- Изменение внешнего вида сайта в зависимости от свойств (например, микросайты, вложенные сайты)
- Пометка для автоматизированных экспортов (PDF, RPC и т.д.)
Как видите, есть действительно полезные варианты применения для свойств, не стесняйтесь использовать их для любых нужд.
Некоторые факты
- Документы следуют паттерну MVC; поэтому Pimcore требует, чтобы был хотя бы один контроллер с действием и файлом шаблона.
- Pimcore поставляется с DefaultController, содержащим defaultAction и файл шаблона.
- Из-за архитектуры MVC существует четкое разделение между вашими данными, функциональностью и шаблонами.
- Шаблоны для Pimcore создаются с помощью Twig.
- Поскольку шаблоны написаны на Twig, существует четкое разделение логики (контроллеры) и дизайна (представление / шаблон).
Создайте свой первый документ
Работа с документами подробно описана в нашем руководстве Создание первого проекта.
Очистка типов документов
Удаление пакетов может не всегда очищать данные или таблицы базы данных, чтобы избежать потери данных. Выполнение следующей команды удаляет специфические для типа таблицы и перечисления из таблицы документов. Следующие типы защищены и не могут быть очищены с помощью этой команды: page, link, snippet, folder, hardlink, email
Вы можете очистить сразу несколько типов файлов.
bin/console pimcore:documents:cleanup <type1> <type2> <type3>
Темы, касающиеся документов
Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.