2017-09-16 3 views
0

오늘 "페이지 제목"블록에 image_field를 추가하려고했습니다.Drupal 페이지 제목 블록

가능한지 모르겠습니다.

가능하지 않은 경우에는 나뭇 가지 템플릿에 field_image를 추가 할 수 있습니까?

Tnks.

+0

무엇이든 가능합니다. 시도한 코드를 보여줄 수 있습니까? –

+0

방금 ​​field-node-title.html.twig에 {{node.field_image.title}} (테스트 할 제목)과 같은 나뭇 가지를 사용하려고했습니다. 이걸 만들 수있는 최선의 방법인지 모르겠다 ... 빠른 응답을위한 Thks;) –

+0

방금 ​​Drupal을 사용하고 있다는 것을 깨달았습니다. Drupal에 익숙하지 않습니다. 다른 사람이 뭔가 제안 할 수 있을까요? –

답변

0

아래의 내용이 도움이 될 수 있습니다. 첫 번째, page_title에 대한 테마 제안을 추가하여 템플릿을 넘어야하는 장소를 제어 할 수 있습니다. node_type - 접미사를 템플릿에 추가합니다.

나는 전처리 함수를 추가합니다. 마지막에 "news"가 원하는 유형의 서명을 첫 번째 함수의 내용 유형으로 대체해야합니다.

두 번째 함수에서 나는 자막이라는 필드를 가져오고 템플릿에 사용할 수 있도록 변수에 값을 추가합니다. news.html.twig - -

function mytheme_theme_suggestions_alter(array &$suggestions, array &$variables, $hook) { 
    if($hook === 'page_title') { 
    if($node = \Drupal::routeMatch()->getParameter('node')){ 
     $node_type = $node->getType(); 
     // suggestion must use _ and __ as per convention. 
     $suggestions[] = 'page_title__'.$node_type; 
    } 
    } 
} 


function mytheme_preprocess_page_title__news(&$variables) { 

    if ($node = \Drupal::routeMatch()->getParameter('node')) { 
    try { 
     if ($node->get('field_subtitle') && !$node->get('field_subtitle')->isEmpty()) { 
     $variables['sub_title'] = 
      $node->get('field_subtitle') 
      ->get(0) 
      ->get('value') 
      ->getValue(); 
     } 
    }catch(Exception $e){ 

     \Drupal::logger('mytheme')->error($e); 
    } 
    } 
} 

지금 템플릿에 템플릿 파일에서 사용할 수 피어 로쓰 것, 내 경우는 페이지 제목이었다 페이지 title.html.twig에서 복사 및 각각의 변수를 추가했습니다.

+0

위의 함수를 추가하려면 mytheme.theme 파일에 있어야합니다. – allupaku

+0

안녕하세요. 내 테마에 맞게 수정하여 함수를 사용하려고했습니다. 하지만 내가 kint()를 사용하여 변수 ('sub_title'에 대해)에 무엇이 있는지 알아 내려고하면 'NULL'이라고 말합니다. –

+0

변수 값에 대해 함수 자체에서 kint를 시도 했습니까? 필드에서 값을 적절하게 가져오고 있습니까? 이미지 필드 값은 텍스트 필드와 구조가 동일하지 않습니다. 제 경우에는 텍스트 필드를 가져옵니다. – allupaku