У меня возникла проблема с публикацией двоичных файлов (файлов PDF) из Tridion с использованием Razor Templating.
У меня есть шаблон компонента, для которого установлено значение «Опубликовано как динамический компонент» с одной связанной мультимедийной схемой.
Я использую расширение Razor Mediator, а шаблон компонента содержит два строительных блока шаблона. :
- Шаблон Razor, который выводит некоторый HTML и ссылку на двоичный файл в мультимедийном компоненте.
- The Default Finish Actions TBB containing the following:
- Publish Binaries in Package
- Преобразователь ссылок
- Персонализация целевой группы
- Шаблон очистки
- Преобразование XML в HTML
Шаблон Razor содержит следующий код (я немного упростил его):
Похоже, что это правильно разрешает двоичную ссылку и создает следующую презентацию динамического компонента:
Проблема, с которой я сталкиваюсь, заключается в том, что сам двоичный файл никогда не добавляется в пакет и поэтому не публикуется.
Поскольку посредник Razor имеет параметр «extractBinaries» в файле Tridion.ContentManager.config, я подозреваю, что посредник должен добавить двоичные файлы в пакет. Я убедился, что для параметра extractBinaries установлено значение «true», однако двоичный файл не добавляется в пакет (хотя обрабатываемый мультимедийный компонент находится в пакете как элемент tridion/component).
Кто-нибудь знает, доступна ли эта функция и работает ли она в Razor Mediator? Я подозреваю, что Razor Mediator ожидает, что код ссылки будет в определенном формате, но я не могу найти ничего по этому поводу в документация.
Я также попытался добавить TBB «Извлечь двоичные файлы из Html» в шаблон компонента (в соответствии с шаблоном Razor), но получаю следующую ошибку: «Вывод элемента должен иметь указанное свойство TCMURI». Я подозреваю, что это связано с тем, как Razor Mediator добавляет элемент «Вывод» в пакет.
Я мог бы написать новый TBB, чтобы убедиться, что двоичный файл добавлен в пакет, но я бы предпочел не делать этого, если функциональность уже доступна в Razor Mediator.
Заранее спасибо.
P.S. Извиняюсь за изображения. Stackoverflow не хотел правильно форматировать код.