Перейти к основному содержимому

Документы

Документы в Pimcore представляют собой способ управления неструктурированным контентом с использованием страниц, фрагментов контента и навигации.

Типы документов

Pimcore предлагает различные типы документов, и каждый из них обладает функциональностью, специфичной для конкретного случая использования.

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

Конфигурация документов

Конфигурация документов связана с архитектурой MVC, поэтому каждому документу требуется контроллер/действие и шаблон, которые специфицированы в настройках документа в интерфейсе администратора:

Документы: настройки контроллера и представления

Не все из них необходимы, в таблице ниже показаны возможные конфигурации:

ТипКонтроллерШаблонОписание
1XВыполняется указанный контроллер/экшен. Если действие возвращает объект ответа, он используется для рендеринга.
2XXТо же, что и выше, но рендерится указанный шаблон, а не автоопределённый шаблон (только если действие не возвращает ответа).
3XРендерит шаблон с использованием контроллера/экшена по умолчанию, что удобно, если имеется только шаблонный контент.

Pimcore поставляется с контроллером по умолчанию, содержащим действие по умолчанию, которое вызывается, когда только шаблон задан для документа.

Вы можете задать модуль/пакет по умолчанию, контроллер и действие в конфигурации:

pimcore:  
documents:
default_controller:App\Controller\DefaultController::defaultAction

Свойства (Properties)

Свойства обладают большой мощностью в сочетании с документами. Ниже приведены некоторые примеры, где свойства могут быть очень полезными для работы с документами.

  1. Навигация - Если вы строите навигацию на основе дерева документов, иногда вам нужны специальные настройки для фронтенда, такие как разделители или выделения
  2. Изображения заголовков - Часто на сайте используются изображения заголовков. Если вы не хотите определять его для каждой страницы, вы можете использовать свойства с наследованием. Вы можете задать значение по умолчанию в корневом документе и переопределить это значение на более глубоком уровне в иерархии дерева.
  3. Сайдбары - Вы можете легко управлять видимостью боковых панелей в конкретных документах
  4. SEO - Также возможно использовать свойства для SEO. Определять красивый заголовок и описание для каждой страницы на вашем сайте очень неудобно, с помощью свойств это не требуется (наследование)
  5. Защищенные области - Закрытые пользовательские группы
  6. Изменение внешнего вида сайта в зависимости от свойств (например, микросайты, вложенные сайты)
  7. Пометка для автоматизированных экспортов (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>  

Темы, касающиеся документов


Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.