我想使用在字段中設置的分類術語值來增強頁面的標題。Drupal 8樹枝中的分類術語
所以標題是這樣的:
標題 - [分類長期價值]
要修改標題,我改寫
field--node--title--[content-type].html.twig
到目前爲止好,獲得了節點本身和其他字段通過元素對象請求:
element['#object'].get('field_my_field').get(0)
要ge第一個元素。
element['#object'].get('field_my_field').get(0)['target_id']
返回分類術語的tid。但是
element['#object'].get('field_my_field').get(0)['name']
返回一個空的元素。
如何檢索字段值?我無法想象這應該需要php代碼。
更新: 我想出了一個辦法,但似乎有點複雜:
由於分類術語未在#object解決,我不得不添加一個hook_preprocess:場函數準備一個變量必要的數據:
function myTheme_preprocess_field(&$variables, $hook){
if ($variables['field_name'] == 'title'){
$variables['my_field'] = Term::load($variables['element']['#object']->get('my_field')->get(0)->getValue()['target_id']);
}
字段現在可以在樹枝如下訪問:
{{ my_field.name.getValue()[0]['value'] }}
對我來說,這似乎是很多工作,所以更直接的方法是非常感謝。
除了代碼從預處理移動到page_suffix之外,這與我在更新部分中提出的解決方案有什麼不同? – Denis
你的解決方案可以工作,而我的接近Drupal主題設計。 – augusto