繁体   English   中英

如何导出umbraco内容

[英]How to export umbraco content

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

/app_data/umbraco.config中已经有一个包含您网站所有内容的XML文件(.config的扩展名是使您远离气味的原因)。

在呈现所有内容时,Umbraco在内部使用此XML文件。

我会看一下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
            };
        }
    }
}

当然,这将假定您的图像文件存储在别名为“ imageUrl”的属性中。

编译代码后,您应该可以使用此URL调用服务。

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

1234是内容节点的ID,将localhost替换为您要在其下运行站点的域(并添加端口等)。 请注意,您可以删除“ UmbracoAuthorize”语句,以无需查看身份验证和登录到Umbraco的后端即可查看服务。 除非您确定控制器暴露的数据是无害的,否则切勿在活动站点上执行此操作。

在这里看看更多的阅读。 欢迎乘坐Umbraco火车! 这非常有趣,我们在实现目标方面正不断前进。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM