我在 SDL Tridion 项目上使用 DD4T,并在存储配置中使用以下配置来将二进制文件(在本例中二进制文件是存储在多媒体组件中的任何内容)发布到文件系统,但将页面保留在内容交付数据库中。
我发现,随着对二进制文件需求的变化(例如客户想要提供 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>
有人能告诉我是否有办法改变上述情况,以便给定出版物的所有多媒体组件的内容都进入文件系统吗?我似乎在文档中找不到这一点。
答案1
据我所知,您指定的越少,过滤的就越少。您是否尝试过完全省略该itemExtension
属性?我希望这适用于任何扩展。
答案2
我们在配置中使用以下内容,它会拾取我们添加的任何新二进制文件类型,而无需更改存储配置:
<Item typeMapping="Binary" storageId="defaultStaticFile" cached="false"/>
您只需要更新即可使用您的存储端点和所需的缓存设置:
<Item typeMapping="Binary" storageId="defaultFile" cached="true"/>
答案3
只需删除 itemExtension 节点,它就会将所有二进制文件部署到该存储 ID。扩展实际上仅用于例外情况。