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

Перспективы

Общее

Перспективы позволяют создавать разные представления в бэкенд‑интерфейсе и даже настраивать стандартную перспективу. Эта функциональность может сочетаться с настройками пользовательских представлений (Custom Views).

Вы можете создавать или редактировать перспективы и пользовательские представления внутри бэкенда Pimcore с помощью бандла perspective editor.

Примечание по безопасности
Перспективы и Custom Views не предназначены для ограничения доступа к данным.

Учтите, что при сочетании с пользовательскими представлениями настройки custom view должны быть определены в файле customviews.yaml (имя файла выбираете сами). Связь осуществляется по ID.

Вы можете определить:

  • какие деревья (trees) должны отображаться
  • где они расположены (left/right)
  • порядок и какие из деревьев должны быть раскрыты по умолчанию
  • доступные элементы контекстного меню дерева
  • элементы навигационного меню
  • стандартные элементы на приветственном экране
  • какие портлеты можно добавлять на информационную панель (dashboard)

Перспективы - основные примеры

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

Перспективы - меню

Доступ к определённым перспективам можно ограничить через настройки пользователя.

Перспективы - мультивыбор

Файл конфигурации

Формат и местоположение конфигурации перспектив зависят от окружения. По умолчанию используется Symfony‑конфиг. Если хотите изменить поведение по умолчанию, посмотрите опции конфигурации окружения

Пожалуйста, обратитесь к примеру конфигурации для получения более подробной информации о том, как это можно настроить.

Ниже описаны наиболее полезные опции в файле конфигурации.

В таблице, приведенной ниже, описаны наиболее полезные из доступных опций в файле конфигурации.

СсылкаЗначениеОписание
[perspectiveName]["icon"]stringПуть к файлу иконки.
[parspectiveName]["iconCls"]stringCSS‑класс, добавляемый к иконке.
[perspectiveName]["elementTree"]arrayМассив, содержащий строки с конфигурацией деревьев, например тип дерева.
[perspectiveName]["elementTree"][i]["type"]string (documents,objects,assets,customview)Тип элементов, которые будут отображаться в дереве.
[perspectiveName]["elementTree"][i]["position"]string (left,right)Место, где дерево изначально генерируется.
[perspectiveName]["elementTree"][i]["id"]integerID элементов 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, второе (слева) — пользовательское представление с объектами продуктов.

Вид после переключения выглядит так, как показано на рисунке.

Custom perspective


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