0

我有两个在整个网站上运行的字段,我想匹配这样,当用户输入其中一个字段的值时,它将匹配另一个字段。我正在使用 Sitecore Rocks 并尝试使用查询来执行此操作。

 select @#h1#, @#Title#
 from /sitecore/Content/Home//*[@#h1# !="@#Title#"];

 update set @#h1# = @#Title# from /sitecore/Content/Home//*[@#Title# = "<id>"];

我在这里想念什么?

4

2 回答 2

1

本文讨论了利用该item:saving事件来比较更改前后项目的字段值:

http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2010/11/Intercepting-Item-Updates-with-Sitecore.aspx

使用它,您可以确定哪个字段已被修改,然后更改另一个以匹配。

于 2014-04-29T00:01:05.183 回答
0

添加新字段时,我不得不做类似的事情,我们希望将初始值设置为等于现有字段。这可能是 Sitecore Rocks 中的一个错误,但我发现它只会在静态值是查询的一部分时更新字段。

当我运行@#h1# = @#Title#时,查询分析器将返回正确数量的更新项目,但实际上没有更新任何值。然而,@#h1# = '<id>'工作完美。在尝试了很多事情之后,我发现这正是我想要的。

update set @#h1# = '' + @#Title# from /sitecore/Content/Home//*[@#Title# = "<id>"];

我希望这会有所帮助。

于 2014-05-02T13:13:03.817 回答