gpt4 book ai didi

tridion - 如何使用 Anguilla JavaScript 设置 Tridion ApplicationData?

转载 作者:行者123 更新时间:2023-12-04 18:48:05 24 4
gpt4 key购买 nike

我有一个带有表单和文本字段的 Tab GUI 扩展。我想将表单字段的值保存到 ApplicatioData。我正在考虑调用 Anguilla 方法的“更新”按钮。

有安圭拉方法可以做到这一点吗?我在安圭拉没有看到任何方法。代码开头:

var c = $display.getItem();
var uri = c.getId();

最佳答案

Anguilla 不公开任何(webservice 或 JavaScript)方法来一般修改 ApplicationData。您必须提供自己的服务器端代码来设置 ApplicationData。

因此,在我最后一次需要时,我编写了一个简单的 WCF Web 服务来设置应用程序数据:

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple)]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
[ServiceContract(Namespace= "ExtensionsModel.Services")]
public class ExtensionsService
{
[OperationContract]
[WebInvoke(Method = "POST",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
public void SetEnabled(string[] itemIDs, bool enabled)
{
using (var client = TridionCoreService.GetSessionAwareClient())
{
var appdata = new ApplicationData();
appdata.ApplicationId = "ext:IsEnabled";
appdata.Data = new ASCIIEncoding().GetBytes(enabled ? bool.TrueString : bool.FalseString);
foreach (var itemID in itemIDs)
{
client.SaveApplicationData(itemID, new[] {appdata});
}
}
}
}

将它连接到我模型的配置文件中:

<?xml version="1.0" encoding="utf-8" ?>
<Configuration> <!-- namespaces removed for readability -->
<resources cache="true">
<cfg:filters/>
<cfg:groups>
<cfg:group name="Extensions.Models">
<cfg:domainmodel name="Extensions.Models">
<cfg:services>
<cfg:service type="wcf">Services/ExtensionsService.svc</cfg:service>
</cfg:services>
</cfg:domainmodel>
</cfg:group>
</cfg:groups>
...

然后从我的 command._execute 调用这个 web 方法

Extensions.Commands.DisableExtension.prototype._execute = function (selection) {
ExtensionsModel.Services.ExtensionsService.SetEnabled(selection.getItems(), false);
};

关于tridion - 如何使用 Anguilla JavaScript 设置 Tridion ApplicationData?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10801301/

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