Umbraco - 改变媒体类型

时间:2015-06-10 14:14:06

标签: c# umbraco umbraco7

有没有办法在创建媒体类型后更改媒体类型,理想情况是通过c#代码,在Umbraco中?

由于引用,通过创建具有新类型的新媒体节点并在该媒体类型下方迁移图像的迁移越来越成问题。

是否有一种很好的方法可以将文件夹更改为自定义媒体类型?

我正在使用Umbraco 7,我希望在App_Code文件夹中的内容或媒体服务上的Saved事件上执行此迁移。

2 个答案:

答案 0 :(得分:1)

我必须做一些与文档模板非常相似的事情。您有两个选项 - 您可以更改媒体类型,也可以创建具有正确类型的新媒体,复制属性并销毁旧媒体。应该有大量的代码示例来做到这一点,但是如果你遇到了问题就会喊叫

您应该只能在app_code文件夹中添加事件处理程序以在保存

时触发

答案 1 :(得分:0)

我有类似的需要更改与节点关联的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和path