2014-09-12 8 views
1

나는 navbar를 채우는 데 사용되는 TT 파일에 전달하는 배열을 가지고 있습니다.변수를 템플릿 툴킷 템플릿에 바인딩하는 방법이 있습니까?

기본 본문과 기본 본문 본문을 사용하고 있습니다.

보기를로드 할 때마다이 배열을 전달하지 않고 '주 템플릿에 항상이 배열을 받아야한다고'선언 할 수 있는지 알고 싶었습니다. 오, 그래, 나는 댄서 btw를 사용하고있다. P), 예 :

get '/' => sub { 
    template 'index', { for_all_i_know => $this_never_changes } 
} 

get '/about' => sub { 
    template 'about', { for_all_i_know => $this_never_changes } 
} 

대신 것을하고, 나는 그것을 정리할 수있는 방법은 무엇입니까? 뭔가 같은 :

bind template 'main' { for_all_i_know => $this_never_changes }; 

이 내가 할 단지 수있는 방법 :

get '/' => sub { 
    template 'index'; 
} 

여전히 변수 'for_all_i_know'

답변

4

가 그래 당신이 후크에서 그 변수를 선언 할를로드 주 템플릿 . 메인 클래스의 예를 들면 다음과 같습니다

hook 'before_template_render' => sub { 

    var helpdesk => '[email protected]'; 

}; 

그런 다음보기 또는 레이아웃 템플릿에서이 같은 사람에 액세스 할 수 있습니다

<p> For assistance please contact us at <% vars.helpdesk %>. 

을 ... 명시 적으로 그것을 통과하지 않고

+0

신난다. , 감사! – a7omiton