【问题标题】:JSON output in Umbraco 5Umbraco 5 中的 JSON 输出
【发布时间】:2012-05-20 08:10:37
【问题描述】:

我刚从 Umbraco 4 切换到 Umbraco 5,似乎发生了很多变化。 所以我基本上想要的是向我的文档类型添加替代模板的可能性。 后备模板应以 JSON 格式返回内容。

你说为什么?我想创建一种类似于 API 的方式来从我的移动设备访问 Umbraco 数据。

WebAPI (http://cultiv.nl/blog/2012/4/22/exposing-umbraco-5-content-through-the-aspnet-web-api/) 我曾考虑过使用 asp.net MVC 4 中的 WebAPI,但该项目实际上只是一个概念证明,我不想为每个端点编写代码。

所以我找到了一个为 Umbraco 4 做了一个包的 som 家伙,它实际上做了这个并将@currentPage 的内容呈现为 Json。通过在 url 末尾添加“/JSON”来命中模板。不幸的是,这使用了 xslt,它已从 Ubraco 5.1 中删除(好东西)。

所以。我敢打赌,创建一个部分、一个宏或一个部分宏来执行此操作并将其添加到模板中很简单。但就是想不通从哪里开始。

对此有什么帮助吗?我正在寻找的是关于要采取哪些步骤来进行设置的步骤指南。在 C# 中渲染广告 json 我可以处理。 我缺少的是与 Umbraci 的整合。

你可以帮忙。

【问题讨论】:

    标签: json umbraco umbraco5


    【解决方案1】:

    替代模板的工作方式与 v4 中的完全相同:只需在 url 末尾添加模板名称:yoururl/json

    然后使用以下代码向名为“json”的模板添加一个新的 razor 视图:

    @inherits RenderViewPage
    @using System.Web.Mvc.Html;
    @using Umbraco.Cms.Web;
    @{
        Layout = "";
    }
    {
    @foreach (var attribute in Model.Attributes)
    {
        string.Format("\"{0}\": \"{1}\"", attribute.AttributeDefinition.Alias, attribute.DynamicValue);
    }
    }
    

    此代码可以用作起点,无需使用 web api 或自己的控制器。

    不要忘记允许所有文档类型的模板

    hth, 托马斯

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    • 2014-07-16
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    相关资源
    最近更新 更多