我是新手,我使用的是Umbraco和asp.net 我的问题是我需要导出很多内容文件(Umbraco)。我尝试使用EyeCatch XML Export,但不起作用。我尝试创建一个新包,以便我可以导入其他Umbraco,但这不是我需要的。我需要XML文件和XSL文件中的内容文件。 例如,我需要主页下的所有文件,以及自己的图像等。 有谁知道是否有免费套餐,或者有人知道怎么做吗?
答案 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火车!这非常有趣,我们在实现目标方面不断壮大。