Добавление типов ассетов
Эта функция позволяет пользователям добавлять собственные типы ассетов (медиаресурсов) в систему. Чтобы зарегистрировать новый тип ассета, необходимо выполнить следующие шаги:
1) Создайте PHP-класс ассета
Класс ассета должен наследоваться от Pimcore\Model\Asset. Давайте создадим класс для файлов InDesign. Пространство имен (namespace) может быть любым, но согласно правилам хорошего тона рекомендуется размещать ассеты в подпространстве Model\Asset.
Примеры реализации можно посмотреть в исходном коде базовых типов ассетов Pimcore на GitHub.
<?php
// src/Model/Asset/InDesign.php
namespace App\Model\Asset;
class InDesign extends \Pimcore\Model\Asset
{
protected string $type = 'indesign';
}
2) Создайте JavaScript-класс для редактора ассетов:
Он должен расширять pimcore.asset.asset, располагаться в пространстве имен pimcore.asset и быть назван в честь свойства
$type соответствующего класса PHP.
В качестве примеров ознакомьтесь с основными типами ассетов Pimcore.
3) Зарегистрируйте ассет в карте типов (Asset Type Map)
Далее необходимо обновить конфигурацию pimcore.assets.type_definitions.map, чтобы включить ваш новый ассет. Это можно сделать в любом загружаемом
конфигурационном файле (например, в /config/config.yaml). Параметр matching должен представлять собой массив регулярных выражений, которые определяют принадлежность файла к данному типу на основе его расширения или имени.
# /config/config.yaml
pimcore:
assets:
type_definitions:
map:
indesign:
class: \App\Model\Asset\InDesign
matching: ["/\\.indd/"]
Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.