2017-05-19 7 views
0

내 테마 (예 : blocks.mustache)에서 핵심 템플릿을 확장하면 어떻게 테마 데이터를 그 안에 출력 할 수 있습니까?무들 코어 콧수염 템플릿 확장/재정화

템플릿을 theme_name/templates/core/blocks.mustache에 추가했으며 사이트 이름에 간단한 변수를 추가하려고했지만 데이터가 출력되지 않았습니다.

렌더러를 확장하지 않으면이 작업을 수행 할 수 있습니까?

답변

1

편집 : 렌더러를 확장하지 않는 것에 대한 부분을 보지 못했습니다. 나는 렌더러와 관련된 솔루션을 찾는 다른 사용자들을 위해 대답을 남겼다.

core_renderer를 확장하는 사용자 지정 코어 렌더러를 만들어야합니다. 그런 다음 함수 블록 (block_contents $ bc, $ region)을 다시 작성 (core_renderer 클래스에서 복사)

$ 데이터에 변수를 할당하면 템플릿에서 사용할 수 있습니다.

class theme_yourthemename_core_renderer extends core_renderer { 
... 
    public function block(block_contents $bc, $region) { 
     $this->init_block_hider_js($bc); 
     $data = \core\output\block::from_block_contents($bc, $this); 

     // Your code here 
     $data->yourvar = 'Some val' 

     return $this->render_from_template('core/block', $data); 
    } 
}