Я использую DD4T в проекте SDL Tridion и использую следующую конфигурацию в конфигурации хранилища, чтобы публиковать двоичные файлы (двоичные файлы в данном случае - это все, что хранится в мультимедийных компонентах) в файловой системе, но сохраняю страницы в базе данных доставки контента.
Я обнаружил, что по мере изменения требований к тому, какие двоичные файлы необходимы, например. клиент хочет предложить файлы Adobe Illustrator для загрузки, мне нужно добавить больше типов в список, изменив конфигурацию и перезапустив программу развертывания, что не идеально.
<ItemTypes defaultStorageId="defaultdb" cached="false">
<Item typeMapping="Page" cached="false" storageId="defaultFile"/>
<Publication Id="9" defaultStorageId="defaultdb" cached="true">
<Item typeMapping="Binary" itemExtension=".jpg" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".gif" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".pdf" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".doc" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".docx" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".xls" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".xlsx" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".xlsm" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".jpeg" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".png" storageId="defaultFile" cached="true"/>
<Item typeMapping="Binary" itemExtension=".ico" storageId="defaultFile" cached="true"/>
</Publication>
</ItemTypes>
Может ли кто-нибудь сказать мне, есть ли способ изменить вышесказанное, чтобы содержимое всех мультимедийных компонентов для данной публикации отправлялось в файловую систему? Кажется, я не могу найти этого в документации.
Насколько я знаю, чем меньше вы указываете, тем меньше фильтруете. Вы пробовали опустить itemExtension
атрибут вообще? Я ожидал, что это применимо к любому расширению.
В нашей конфигурации мы используем следующее, и оно подбирает любые новые типы двоичных файлов, которые мы добавляем, не требуя изменения конфигурации хранилища:
<Item typeMapping="Binary" storageId="defaultStaticFile" cached="false"/>
Вам просто нужно будет обновить, чтобы использовать конечную точку хранилища и желаемую настройку кеша:
<Item typeMapping="Binary" storageId="defaultFile" cached="true"/>
Просто удалите узел itemExtension, и он развернет все двоичные файлы на этот идентификатор хранилища. Расширения действительно только для исключений.