【发布时间】:2015-06-10 14:14:05
【问题描述】:
有没有办法在 Umbraco 中创建媒体类型后更改它,最好是通过 c# 代码?
由于引用的原因,通过创建具有新类型的新媒体节点并迁移该媒体类型下方的图像来进行迁移的问题越来越多。
有没有一种好方法可以将文件夹更改为自定义媒体类型?
我正在使用 Umbraco 7,并希望对 App_Code 文件夹中内容或媒体服务的 Saved 事件执行此迁移。
【问题讨论】:
有没有办法在 Umbraco 中创建媒体类型后更改它,最好是通过 c# 代码?
由于引用的原因,通过创建具有新类型的新媒体节点并迁移该媒体类型下方的图像来进行迁移的问题越来越多。
有没有一种好方法可以将文件夹更改为自定义媒体类型?
我正在使用 Umbraco 7,并希望对 App_Code 文件夹中内容或媒体服务的 Saved 事件执行此迁移。
【问题讨论】:
我不得不对文档模板做一些非常相似的事情。您有两个选择 - 您可以更改媒体类型,或者您可以创建具有正确类型的新媒体,复制属性并销毁旧媒体。应该有大量的代码示例可以做到这一点,但如果你遇到困难就大声喊叫
您应该能够在 app_code 文件夹中添加一个事件处理程序以在保存时触发
【讨论】:
我也有类似的需要更改与节点关联的 mediaType。内容树的上下文菜单中有该选项,但媒体树 GUI 中没有类似的选项。您是否找到了实现这一点并刷新所有与它们关联的缓存/xml 的好方法?
如果您采用创建新媒体节点的路线来获得新类型,我确实有建议。您在评论中提到,复制图像以将它们作为子文件夹放置在新文件夹中,这会弄乱对图像的引用。 GUI 中有一个“移动节点”选项,它将为您的子图像保留相同的 nodeID,因此对它们的任何引用。以编程方式,我认为这将涉及更新图像节点的属性,并确保刷新trees.config。
<ChildImage id="4099" parentID="4098" level="4" creatorID="2" sortOrder="0" createDate="2014-10-16T10:32:07" updateDate="2015-05-05T14:32:15" nodeName="Cutler - 101" urlName="my-image" path="-1,3285,3287,4098,4099" isDoc="" nodeType="2887" writerName="admin" writerID="2" version="03d9a03d-4cc5-4e27-b9ff-6651362e264b" template="0" nodeTypeAlias="ChildImage">
我认为需要更改的属性是 parentID 和路径
【讨论】: