Перспективы
Общее
Перспективы позволяют создавать разные представления в бэкенд‑интерфейсе и даже настраивать стандартную перспективу. Эта функциональность может сочетаться с настройками пользовательских представлений (Custom Views).
Вы можете создавать или редактировать перспективы и пользовательские представления внутри бэкенда Pimcore с помощью бандла perspective editor.
Примечание по безопасности
Перспективы и Custom Views не предназначены для ограничения доступа к данным.
Учтите, что при сочетании с пользовательскими представлениями настройки custom view должны быть определены в файле customviews.yaml (имя файла выбираете сами).
Связь осуществляется по ID.
Вы можете определить:
- какие деревья (trees) должны отображаться
- где они расположены (left/right)
- порядок и какие из деревьев должны быть раскрыты по умолчанию
- доступные элементы контекстного меню дерева
- элементы навигационного меню
- стандартные элементы на приветственном экране
- какие портлеты можно добавлять на информационную панель (dashboard)

Можно определить любое количество перспектив и переключаться между ними через меню File.

Доступ к определённым перспективам можно ограничить через настройки пользователя.
Файл конфигурации
Формат и местоположение конфигурации перспектив зависят от окружения. По умолчанию используется Symfony‑конфиг. Если хотите изменить поведение по умолчанию, посмотрите опции конфигурации окружения
Пожалуйста, обратитесь к примеру конфигурации для получения более подробной информации о том, как это можно настроить.
Ниже описаны наиболее полезные опции в файле конфигурации.
В таблице, приведенной ниже, описаны наиболее полезные из доступных опций в файле конфигурации.
| Ссылка | Значение | Описание |
|---|---|---|
[perspectiveName]["icon"] | string | Путь к файлу иконки. |
[parspectiveName]["iconCls"] | string | CSS‑класс, добавляемый к иконке. |
[perspectiveName]["elementTree"] | array | Массив, содержащий строки с конфигурацией деревьев, например тип дерева. |
[perspectiveName]["elementTree"][i]["type"] | string (documents,objects,assets,customview) | Тип элементов, которые будут отображаться в дереве. |
[perspectiveName]["elementTree"][i]["position"] | string (left,right) | Место, где дерево изначально генерируется. |
[perspectiveName]["elementTree"][i]["id"] | integer | ID элементов customview, которые рендерятся в дереве (работает только с типом customview) |
[perspectiveName]["toolbar"] | array | Опция для внесения изменений в меню тулбара. |
[perspectiveName]["toolbar"][i][menuName] | string (file,marketing,extras,settings,search) | Это стандартные меню тулбара |
[perspectiveName]["toolbar"][i][menuName]["hidden"] | boolean | Возможность скрыть указанное меню (список доступных меню — в примере ниже) |
[perspectiveName]["toolbar"][i][menuName]["items"]["itemsName"] | boolean | Здесь можно указать, какие элементы подменю должны быть сгенерированы. |
Простой пример
Примечание: это простой пример, который может быть использован для администраторов каталога. Для продвинутого использования смотрите расширенный пример конфигурации.
Нам нужно видеть только
- продукты (объекты из определённой директории)
- ассеты
- кнопку поиска
Чтобы задать набор объектов, которые нужно показывать, сначала необходимо добавить customview. См. раздел Пользовательские представления для подробностей.
Определение custom view может выглядеть так:
#var/config/perspectives/perspective.yaml
...
4e9f892c-7734-f5fa-d6f0-31e7f9787ffc:
name: Cars
treetype: object
position: left
rootfolder: '/Product Data/Cars'
showroot: false
sort: 3
treeContextMenu:
object:
items:
add: true
addFolder: true
importCsv: true
cut: true
copy: true
paste: true
delete: true
rename: true
reload: true
publish: true
unpublish: true
searchAndMove: true
lock: true
unlock: true
lockAndPropagate: true
unlockAndPropagate: true
changeChildrenSortBy: true
icon: /bundles/pimcoreadmin/img/flat-white-icons/automotive.svg
classes: CAR
joins: { }
id: 4e9f892c-7734-f5fa-d6f0-31e7f9787ffc
Далее обновим var/config/perspectives/example.yaml добавлением новой перспективы.
#var/config/perspectives/perspective.yaml
...
demo:
elementTree:
-
type: customview
position: left
sort: 0
expanded: false
hidden: false
id: 4e9f892c-7734-f5fa-d6f0-31e7f9787ffc
-
type: assets
position: right
sort: 0
expanded: false
hidden: false
treeContextMenu:
asset:
items:
add:
hidden: false
items:
upload: true
uploadCompatibility: true
uploadZip: true
addFolder: true
rename: true
copy: true
cut: true
paste: true
pasteCut: true
delete: true
searchAndMove: true
lock: true
unlock: true
lockAndPropagate: true
unlockAndPropagate: true
reload: true
iconCls: pimcore_nav_icon_perspective
icon: null
toolbar:
file:
hidden: true
items:
perspectives: false
dashboards: false
openDocument: false
openAsset: false
openObject: false
searchReplace: false
schedule: false
seemode: false
closeAll: false
help: false
about: false
marketing:
hidden: true
items:
reports: false
tagmanagement: false
targeting: false
seo:
hidden: false
items:
documents: false
robots: false
httperrors: false
extras:
hidden: true
items:
glossary: false
redirects: false
translations: false
recyclebin: false
plugins: false
notesEvents: false
applicationlog: false
gdpr_data_extractor: false
emails: false
maintenance: false
systemtools:
hidden: false
items:
phpinfo: false
opcache: false
requirements: false
serverinfo: false
database: false
fileexplorer: false
settings:
hidden: true
items:
customReports: false
marketingReports: false
documentTypes: false
predefinedProperties: false
predefinedMetadata: false
system: false
website: false
web2print: false
users:
hidden: false
items:
users: false
roles: false
thumbnails: false
objects:
hidden: false
items:
classes: false
fieldcollections: false
objectbricks: false
quantityValue: false
classificationstore: false
bulkExport: false
bulkImport: false
routes: false
cache:
hidden: false
items:
clearAll: false
clearData: false
clearSymfony: false
clearOutput: false
clearTemp: false
adminTranslations: false
tagConfiguration: false
perspectiveEditor: false
search:
hidden: false
items:
quickSearch: false
documents: true
assets: false
objects: false
datahub:
hidden: false
Я изменил количество элементов, отображаемых в основном меню Pimcore.
Также я добавил два дерева: первое (справа) — для assets, второе (слева) — пользовательское представление с объектами продуктов.
Вид после переключения выглядит так, как показано на рисунке.

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