如何以编程方式更新内容类型的所有元素子项
-
09-12-2019 - |
题
当(通过Web界面)用户访问内容类型(在站点设置 - >内容类型中)并添加或删除列,附近有一个标志,如:
“更新从此类型继承的所有内容类型?”是/否
如果是,则站点中的每个列表都使用新列使用CT更新。
我在一个项目中,其中内容类型部署在WSP中。每当我更新其中一个行为就像“更新从此类型继承的所有内容类型?”没有..
如何将此设置更改为yes? XML中有一个标志吗?
谢谢!
我看到,当我从VS撤回时,一切都变得很好...所以我试图调查与... 的vs
我尝试了这个脚本:
Disable-SPFeature -Identity "f5768894-9568-49bb-8c11-354e2d42c6bd" -url URL
Uninstall-spfeature -identity "f5768894-9568-49bb-8c11-354e2d42c6bd" -force
Uninstall-SPSolution -identity saviogd.wsp -allwebapplications -force
Remove-SPSolution -identity saviogd.wsp -force
.
我走到了sp文件夹,寻找“某些东西仍然存在”,但是:
- 功能文件夹不再安装
- layouts文件夹不再安装
所以我可能假设我已经完成了相同的VS操作......现在运行IISreset,转到内容类型我找到安装的所有内容类型,并且所有列删除...当我再次部署CT时,CT删除所有内容旧数据。
当vs缩回时检查sitazion我看到没有更多我的内容类型...
如何获得相同的vs结果?
解决方案
更新已部署内容类型的“官方”方法是:
- addcontenttypefield 它有一个pushdown属性
- 代码在 custompgradeaconting spcontenttype.update 方法采用upgradechildren参数