访问树枝中的引用/父元素(段落)
Accessing the referencing / parent element in twig (paragraphs)
我在(父)段落中有一个实体引用字段,它引用了多个子段落。
是否可以访问子项(引用段落的)twig 模板中引用段落的字段值?
实际上,我只是想计算引用项目的一个 twig 模板本身中引用项目的总数。所以我想数它的兄弟+1,如果你愿意的话。
我知道我可以在模块中对此进行预处理,但我想知道这在 twig 中是否可行。
由于没有对这个问题的回应,我不得不假设这在 Twig 中是不可能的,但想通过模块快速分享提到的解决方法...
getParentEntity()
是你的朋友。
使引用元素的计数可用的简短示例...
/* implements hook_preprocess_paragraph() (paragraph type product_teaser) */
function mymodule_preprocess_paragraph__product_teaser(&$variables) {
/* makes paragraph siblings count (+ 1/self) available to template */
$siblings_total = 1;
$paragraph = $variables['paragraph'];
$parent_paragraph = $paragraph->getParentEntity();
if ( ( isset($parent_paragraph) ) && ( $parent_paragraph->hasField('field_paragraph_reference') ) ) {
$field_content = $parent_paragraph->get('field_paragraph_reference')->getValue();
if ( isset($field_content[0]['target_id']) ) {
$siblings_total = count($field_content);
}
}
$variables['mymodule_theming_sources']['siblings_total'] = $siblings_total;
}
在树枝中:
{% set paragraph_parent = paragraph.getParentEntity() %}
{% set width = paragraph_parent.field_width.0.value %}
<div class="{{ width }}">{{ content.field_images }}</div>
我在(父)段落中有一个实体引用字段,它引用了多个子段落。
是否可以访问子项(引用段落的)twig 模板中引用段落的字段值?
实际上,我只是想计算引用项目的一个 twig 模板本身中引用项目的总数。所以我想数它的兄弟+1,如果你愿意的话。
我知道我可以在模块中对此进行预处理,但我想知道这在 twig 中是否可行。
由于没有对这个问题的回应,我不得不假设这在 Twig 中是不可能的,但想通过模块快速分享提到的解决方法...
getParentEntity()
是你的朋友。
使引用元素的计数可用的简短示例...
/* implements hook_preprocess_paragraph() (paragraph type product_teaser) */
function mymodule_preprocess_paragraph__product_teaser(&$variables) {
/* makes paragraph siblings count (+ 1/self) available to template */
$siblings_total = 1;
$paragraph = $variables['paragraph'];
$parent_paragraph = $paragraph->getParentEntity();
if ( ( isset($parent_paragraph) ) && ( $parent_paragraph->hasField('field_paragraph_reference') ) ) {
$field_content = $parent_paragraph->get('field_paragraph_reference')->getValue();
if ( isset($field_content[0]['target_id']) ) {
$siblings_total = count($field_content);
}
}
$variables['mymodule_theming_sources']['siblings_total'] = $siblings_total;
}
在树枝中:
{% set paragraph_parent = paragraph.getParentEntity() %}
{% set width = paragraph_parent.field_width.0.value %}
<div class="{{ width }}">{{ content.field_images }}</div>