如何导出umbraco内容

时间:2015-03-10 10:42:15

标签: xml xslt umbraco

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

2 个答案:

答案 0 :(得分:1)

已经有一个XML文件,其中包含您网站的所有内容,位于/app_data/umbraco.config(.config的扩展名会让您远离气味)。

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

答案 1 :(得分:0)

我会看看UmbracoAPIController的。它们允许您轻松地将任何数据类型的属性值公开为XML或JSON。它本质上是Microsoft Web API的扩展,非常容易创建。您所要做的就是创建一个POCO类来存储您的内容,其名称以" 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
            };
        }
    }
}

当然,这会假设您的图像文件存储在别名为&#34; imageUrl&#34;的属性中。

编译完代码后,您应该能够使用此网址拨打您的服务。

http://localhost/umbraco/api/MyDocType/GetPage?id=1234

1234是内容节点的ID,并将localhost替换为您正在运行站点的域(并添加端口等)。请注意,您可以删除&#34; UmbracoAuthorize&#34;声明,允许您查看您的服务,而无需进行身份验证并登录到Umbraco的后端。除非您确定控制器公开的数据是无害的,否则不应在实时网站上进行此操作。

查看here以获取更多阅读材料。欢迎乘坐Umbraco火车!这非常有趣,我们在实现目标方面不断壮大。