如何导出 Umbraco 内容

How to export umbraco content

我是新手,我使用 Umbraco 和 asp.net 我的问题是我需要导出很多内容 (Umbraco) 中的文件。我尝试使用 EyeCatch XML 导出,但不起作用。我试图创建一个新包,以便我可以导入另一个 Umbraco,但这不是我需要的。我需要 XML 文件和 XSL 文件中的内容文件。 例如,我需要主页下的所有文件,带有自己的图像等。 有谁知道有没有免费套餐,或者有谁知道怎么做?

已经有一个包含您网站所有内容的 XML 文件,位于 /app_data/umbraco.config(它的 .config 扩展名让您闻风丧胆)。

Umbraco 在渲染所有内容时在内部使用此 XML 文件。

我会看看 UmbracoAPIController 的。它们将允许您轻松地将任何数据类型的 属性 值公开为 XML 或 JSON。它本质上是 Microsoft Web API 的扩展,并且非常容易创建。您所要做的就是创建一个 POCO class 来存储您的内容,其名称以 "Controller" 结尾。然后扩展 UmbracoApiController。例如:

using System.Web.Mvc;
using Umbraco.Core.Models;
using Umbraco.Web;
using Umbraco.Web.WebApi;

namespace MyNamespace
{
    public class MyDocTypePoco
    {
        public string Name { get; set; }
        public string ImageUrl { get; set; }
    }


    public class MyDocTypeController : UmbracoApiController
    {
        [UmbracoAuthorize, AcceptVerbs("GET, POST"), System.Web.Http.HttpGet]
        public MyDocTypePoco GetPage(int id)
        {
            IPublishedContent node = Umbraco.TypedContent(id); // get our CMS node

            var myPoco = new MyDocTypePoco // instantiate POCO and populate
            {
                Name = node.GetPropertyValue<string>(node.Name), //  property of IPublishedContent
                ImageUrl = node.GetPropertyValue<string>("imageUrl") // my document type's custom property's alias
            };
        }
    }
}

当然,这假设您的图像文件存储在别名 "imageUrl" 的 属性 中。

编译代码后,您应该可以使用此 URL.

调用您的服务
http://localhost/umbraco/api/MyDocType/GetPage?id=1234

1234 是内容节点的 ID,将 localhost 替换为您所在的域 运行 您的站点(并添加端口等)。请注意,您可以删除 "UmbracoAuthorize" 语句以允许您查看您的服务,而无需经过身份验证并登录到 Umbraco 的后端。除非您确定您的控制器暴露的数据是无害的,否则永远不要在实时网站上这样做。

查看 here 了解更多信息。欢迎登上 Umbraco 火车!这很有趣,我们正在不断努力取得更大的成就。