gpt4 book ai didi

razor - 如何使用 razor 从 Umbraco 7 中的页面更新节点属性

转载 作者:行者123 更新时间:2023-12-02 11:58:10 25 4
gpt4 key购买 nike

我一直在寻找解决方案,但找不到版本 7 的任何内容。

我只需更新 Umbraco 7 节点上的日期属性。 (不是发布日期)然后我需要告诉 umbraco 重新发布页面/更新缓存。

在下面的代码中,单个节点是“item”,如果它发现该项目的复选框属性设置为 true,那么它应该将日期增加 1 年。

if(item.annual.ToString()=="True")
{
item.deadlineDate = item.deadlineDate.AddYears(1);
}

非常欢迎任何和所有建议,

问候,达米恩·霍利

最佳答案

假设您的 item 变量是动态的,您首先需要将其 id 传递给管理 API 服务:

var contentService = ApplicationContext.Current.Services.ContentService;
var content = contentService.GetById(item.Id);
content.SetValue("deadlineDate", item.deadlineDate.AddYears(1));
contentService.SaveAndPublish(content);

这将保留该值并使其在应用程序的其他位置可用。它还将使用管理员用户的帐户进行更新,因此如果您希望审核跟踪显示其他内容,则需要将用户 ID 传递给 SaveAndPublish 方法。

最后,您需要小心使用 Management API View 内。不仅可能因前端用户操作而丢失数据,而且还可能导致性能问题,因为与查询 API(IPublishedContent动态发布内容)。

编辑:我刚刚注意到 Jannik's answer 中的评论这或多或少提供了相同的答案。

关于razor - 如何使用 razor 从 Umbraco 7 中的页面更新节点属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37581391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com