mas*_*f85 1 drupal twig drupal-8
如何直接在 page.html.twig 中呈现字段?
当我尝试渲染它时:
{{ node.field_my_field.value }}
Run Code Online (Sandbox Code Playgroud)
我得到:
Exception: Object of type Drupal\entity_reference_revisions\EntityReferenceRevisionsFieldItemList cannot be printed
Run Code Online (Sandbox Code Playgroud)
当我添加一个 .value 时,它仍然没有正确渲染(我使用带有子字段的段落)但出现以下错误:用户错误:“target_id”是无效的渲染数组键
Drupal\Core\Render\Element::children() (line 97 of core/lib/Drupal/Core/Render/Element.php).
User error: "target_revision_id" is an invalid render array key in Drupal\Core\Render\Element::children() (line 97 of core/lib/Drupal/Core/Render/Element.php).
User error: "_loaded" is an invalid render array key in Drupal\Core\Render\Element::children() (line 97 of core/lib/Drupal/Core/Render/Element.php).
User error: "_accessCacheability" is an invalid render array key in Drupal\Core\Render\Element::children() (line 97 of core/lib/Drupal/Core/Render/Element.php).
Run Code Online (Sandbox Code Playgroud)
那么我该如何渲染它呢?
在 Drupal 8 & Twig 中,你可以渲染很多东西,例如:
例如,节点标题
{{ node.title.value }}
Run Code Online (Sandbox Code Playgroud)
例如,一个领域的分类术语 categories
{{ node.field_categories.entity.name.value }}
Run Code Online (Sandbox Code Playgroud)
您无法在 Twig 中打印 Paragraph 实体,但您可以打印每个字段
{{ node.field_my_field.entity.field_title.value }}
Run Code Online (Sandbox Code Playgroud)
在前面的例子中,field_title是我的段落的一个字段。
更进一步,您可以使用模块渲染显示模式Bamboo Twig。
-项目页面
-关于 Bamboo Twig 的文章
-官方文档
安装模块后启用子模块bamboo_twig_loader。
{# Render node with nid 1 #}
{{ bamboo_render_entity('node', 1) }}
{# Render the teaser of node with nid 2 #}
{{ bamboo_render_entity('node', 2, 'teaser') }}
Run Code Online (Sandbox Code Playgroud)
{# Render the title of node 1 #}
{{ bamboo_render_field('title', 'node', 1) }}
Run Code Online (Sandbox Code Playgroud)
希望对你有帮助!
| 归档时间: |
|
| 查看次数: |
5933 次 |
| 最近记录: |