【问题标题】:Is it possible to return value from ribbon tool bar button to simple text field?是否可以将功能区工具栏按钮的值返回到简单的文本字段?
【发布时间】:2012-04-25 05:04:54
【问题描述】:

我添加了一个按钮,用于将弹出页面中的值返回到 RTF 字段。但我目前的要求是将值添加到简单的文本字段中。任何人都可以建议我如何将值返回到简单的文本字段?

【问题讨论】:

  • 请展示您的代码示例,以便使用 RTF 文件执行此操作 - 这将有助于我们了解您要执行的操作
  • 请同时指定您使用的 SDL Tridion 版本。您已将此标记为 Tridion 2009 - 但这些问题似乎与 2011 年更相关。

标签: tridion2009 tridion


【解决方案1】:

目前您无法以受支持的方式执行此操作,因为没有 API 可以从视图访问 Field Builder 控件。 如果您决定解决此问题(访问私有属性、其他一些技巧),您可以使用 Field Builder 控件 API 来实现此目的。例如:

var field = fieldBuilder.getFocusField(); // returns currently focused field object
field.getValues();  // returns field values (might be more than 1 in case of multivalue fields
field.setValues([...]); // sets field values

但请注意,通过单击功能区工具栏按钮,焦点将从字段移到功能区工具栏按钮。所以fieldBuilder.getFocusField() 将返回null。 在 Field Builder 控件上侦听 "focusmove" 事件以跟踪焦点字段的可能解决方案之一。

【讨论】:

  • 感谢您的回复。为了获取发布 ID,我们将使用命令“$display.getView().getItem().getPublicationId()”。对于 getFocusField() 类似,需要使用哪个对象?请解释更多关于获得当前领域的焦点。提前致谢。
  • 在我的组件创建页面中,我有多值嵌入式架构字段。要访问组件的完整 XML,我使用以下命令: "$display.getView().getItemFields()" 。对于特定的 RTF 字段,我使用命令:“target.editor.getHTML()”。但我的要求是获得完整的嵌入式字段值集。我需要使用哪个命令?请帮助解决这个问题。提前致谢。
  • 正如我已经说过的,你应该使用filedBulider实例对象来调用它的“getFocusField”方法。并且没有用于访问该对象的公共 API。但是您可以使用不受支持且未记录的方式访问“私有”对象:$display.getView().properties.controls.fieldBuilder.getFocusField()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-04
  • 1970-01-01
相关资源
最近更新 更多