编程语言
首页 > 编程语言> > 首页> C#> Sitecore的-以编程方式修改模板的源字段

首页> C#> Sitecore的-以编程方式修改模板的源字段

作者:互联网

当前,我们创建的所有模板都有其路径为字符串的源字段.

例如:

“ sitecore / content / Test”

现在,如果我想将“测试”文件夹移至

sitecore/content/Shared/Tags/Test

链接断开.
如果我手动将其更改为使用GUID(使用build选项),则会得到:

datasource={62CF8494-B148-4B2E-9D36-52EC4CD75E13}&database=master

如果现在移动测试文件夹,则我的链接保持不变.

我想编写一个遍历树的例程,并更新模板的所有源字段(仅在特定文件夹中),以包含GUID和数据库名称.
这可能吗?

我尝试在从PublishItemProcessor继承的类的Process方法中执行此操作,并在web.config中添加了适当的条目.调用了此方法,但是该字段的Source属性是只读的,无法修改.
有任何想法吗?
提前致谢.

解决方法:

这里最好/最有效的选择是使用Sitecore Powershell扩展来修改项目.

这是一个很好的参考点:https://sitecorepowershell.gitbooks.io/sitecore-powershell-extensions/content/working-with-items.html

您也可以在代码中执行此操作.

您需要编写一个以/ sitecore / templates / user定义或您的根文件夹为开头的例程(代码或SPE).

遍历树并获取所有具有模板的项目:“模板字段”.然后,您可以检查Source字段的值.如果要更改,请更新值并保存.

请记住在更新所有值之后发布模板树.

标签:sitecore,c
来源: https://codeday.me/bug/20191119/2033571.html