在我的模块中,我有一个自定义实体LocationEntity
,它使用一个自定义字段类型CoordinateItem
,它有 2 个子字段X
,Y
.
那么 Drupal 8 的正确方法是:
LocationEntity
1)在树枝模板中渲染它?
- 我正在做的只是将实体发送到 twig 模板
'#loc1'
并使用 getter 方法手动呈现其每个字段值{{ loc1.getName() }}
。它有效,但我确信这不是正确的方法。
2)如果问题1有另一种正确的方法,那么如何有多个模板来呈现实体?
- 例如,一种包含较少字段的简单布局和一种包含所有字段的详细布局。
3)在实体中,我定义为使用自定义字段CoordinateItem
。但是现在如何处理它的 getter 和 setter,因为它不是一个单独的子字段?
- Getter if
$this->get('coord')
-> 一个FieldItemList
对象。 - 吸气剂 if
$this->get('coord')->value
->null
。 - 二传手?参数是什么类型?
3)我写了一个格式化程序CoordinateItem
来显示它的子字段。但是我又不知道如何使用这个格式化程序在主(实体)模板中呈现这个自定义字段?
- 也许这与问题1和2有关?