gpt4 book ai didi

tridion - 使用事件处理程序覆盖 SDL Tridion 组件的内容

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

如何使用事件处理程序覆盖组件的字段值?当我有下面的代码片段时,保存组件时没有错误。但是事件处理程序所做的内容更改不会反射(reflect)在组件中。我希望单值字段“size”的值为“blabla...”。

// Call to Subscribe the events
EventSystem.Subscribe<Component, SaveEventArgs>(ComponentSaveInitiatedHandler,
EventPhases.Initiated);

private void ComponentSaveInitiatedHandler(Component component,
SaveEventArgs args, EventPhases phases)
{
if (component.Schema.Title == "XYZ")
{
ItemFields Fields = new ItemFields(component.Content, component.Schema);
SingleLineTextField textField = (SingleLineTextField)Fields["size"];
textField.Value = "blabla...";
}
}

最佳答案

您需要使用 XML 字符串更新 Content 属性,如下所示:

ItemFields Fields = new ItemFields(component.Content, component.Schema);
SingleLineTextField textField = (SingleLineTextField)Fields["size"];
textField.Value = "blabla...";
component.Content = Fields.ToXml();

关于tridion - 使用事件处理程序覆盖 SDL Tridion 组件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11517228/

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