【问题标题】:How to get access to fields inside a field of a content type?如何访问内容类型字段中的字段?
【发布时间】:2019-08-22 07:02:10
【问题描述】:

我有一个包含 5 个字段的内容类型,其中一个是 UI 扩展,它从 HTML 生成两个文本字段。我无法访问 UI 扩展字段中的第二个文本字段。

我正在使用 JavaScript 访问 UI 扩展字段中的两个文本字段。但是,我只能访问第一个字段。我还如何检索和操作第二个文本字段?

<form method="post" id="webAddressForm">
        <div class="table form-fields">
        <div class="row name">
                    <div class="label">Web address:</div>
                        <div class="input full"><input type="text" name="web-address" id="webAddress" placeholder="http://google.com"/></div>
                </div>
      <br>
        <div class="row name">
                    <div class="label">Text to display:</div>
                        <div class="input full"><input type="text" name="website-name" id="websiteName" placeholder="Google"/></div>
        <br>
        </div>
      </div>
        </form>

目前正在使用JS来获取字段的值。

console.log(api.field.getValue()) //  this only returns the value from the first text field.

我正在尝试访问 webAddress 和 websiteName 文本字段。

【问题讨论】:

  • 你能描述一下api.field是什么吗?
  • 它检索连接到 UI 扩展的第一个字段。它来自 UI Extension sdk 参考。
  • 好的,我认为它会为您返回一个字段数组,并且当您使用 api.field.getValue() 默认情况下将返回索引 0 值。尝试通过给每个字段api.field[0].getValue()api.field[1].getValue() 的索引来获取每个值。让我知道它是否不起作用。 @mhmrhiman
  • 不,它现在不返回任何内容。就像它根本无法识别第二个文本字段。
  • 好的,你能检查一下那个 api 里面有什么吗?

标签: javascript contentful contentful-api


【解决方案1】:

如果您想在一个字段中存储多个值,您必须选择字段类型JSON object

默认情况下,Contentful 支持一个字段的多种不同类型,但它们都是单个值。通过选择 JSON 作为您的字段(和您的 UI 扩展)的类型,您可以解决此问题并存储您需要的数据,因为您可以完全控制 JSON 结构。

希望对您有所帮助。 :)。

Here you can find an example 我很久以前写过在单个字段中建模表格数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-13
    • 1970-01-01
    相关资源
    最近更新 更多