2013-05-17 2 views
2

내 맞춤 모듈에 템플릿을 할당 할 수있는 방법이 있습니까? 가능하다고 들었습니다. hook_theme 함수를 사용해 보았습니다. TPL 파일이 사람 output.Could로 표시되어있다 called.Its 내 기본 템플릿 아니다 folder.But 내 hook_theme 내가 내 모듈의 special.tpl.php 파일이 할이어떻게 dr_tal에서 특정 모듈에 대한 특정 템플릿을 설정합니까 hook_theme을 사용하여

function special_theme() { 
return array(
    'special' => array(
     'template' => 'special', 
     'arguments' => array('link' => NULL), 
    ), 
); 
} 

뭔가를하시기 바랍니다 보인다 올바른 방향으로 나를 도와주세요. 매우 도움이 될 것입니다.

답변

1

hook_theme()을 통해 정의하는 것은 사용 가능한 템플릿이며 자동으로 사용되는 템플릿이 아닙니다. 해당 템플릿을 사용하려면 theme('special', $link);으로 전화해야합니다.

충돌을 피하기 위해 테마 이름에 간단한 단어를 사용하지 않는 것이 좋습니다 (mymodule_special을 대신 시도하십시오).

print의 반환 값 theme()도 필요하지만 메모는 자동 인쇄되지 않습니다. 예를 들어,

print theme('special', $link); 
+0

내가이 테마 ('special', $ link); – Outlooker

+0

'특별한'테마의'$ 링크'를 출력하고 싶을 때 - 미안하다는 이유로 유감 스럽지만 너무 일반적입니다. – hexblot

+0

tanx.now special.tpl.php 페이지가 호출됩니다. 기본 템플릿으로 사용되는 default.tpl.php 파일이 있습니다. 이제 tpl 내용 모두가 표시됩니다. 방금 echo를 만들었습니다. special.tpl.php 페이지에서 .. default.tpl.php 파일의 내용과 함께 에코 된 텍스트가 표시됩니다. 왜 tpl 파일이 모두 표시됩니까? – Outlooker