2017-11-24 3 views
0

다음 및 이전 기사 링크를 출력하는 내 사용자 정의 모듈에 대한 나뭇 가지 템플릿을 만들고 싶습니다. 내 .module 파일에서어떻게 나뭇 가지에 PHP 변수를 인쇄 할 수 있습니까?

난 내가 {{nextprev}}

같은 나뭇 가지에 내 $의 nextprevlinks를 인쇄 할

public function build() { 
    /** 
     * {@inheritdoc} 
     */ 

     $node = \Drupal::request()->attributes->get('node'); 
     $created_time = $node->getCreatedTime(); 
     $nextprevlinks .= $this->generateNext($created_time); 
     $nextprevlinks .= $this->generatePrevious($created_time); 

     $renderable = [ 
     '#theme' => 'nextprev_template', 
     '#nextprev' => 'nextprevlinks', 
     ]; 
     $rendered = drupal_render($renderable); 

    } 

} 

를 사용하여 내 컨트롤러 파일에서

<?php 
/** 
* @file 
* Code for the nextprev module. 
*/ 
function nextprev_theme($existing, $type, $theme, $path) { 
    return [ 
     'nextprev_template' => [ 
     'variables'=> [ 
       'nextprev' => 'Some_value', 
      ], 
    ], 
    ]; 
    } 

내 모듈 폴더 안에 나뭇 가지 템플릿을 만들었지 만 작동하지만, {{nextprev}} 변수를 인쇄 할 수 없으며 kint를 사용할 때 Null을 반환합니다. 이 일을해야

nextprev.block: 
    path: /node 
    defaults: 
    _controller: Drupal\nextprev\Controller\NextPrevLinksBlock::build 
    requirements: 
    _permission: 'access content' 

답변

0

:

$renderable = [ 
    '#theme' => 'nextprev_template', 
    '#nextprev' => $nextprevlinks, 
    ]; 

그러나이 같은 컨트롤러에서 렌더링 가능한 배열을 반환하는 경우 내 생각, 그것이 더 좋을 coild

은 또한 함께 nextprev.routing.yml 추가 :

return [ 
    '#theme' => 'nextprev_template', 
    '#nextprev' => $nextprevlinks, 
]; 
관련 문제