2011-04-20 2 views
0

나만의 테마를 만들었습니다. template.php 파일에서 다음 코드가 있습니다Drupal 7 템플릿 제안 - 왜 이것이 작동하지 않습니까?

function mytheme_preprocess_page(&$variables) { 
    if(isset($variables['node'])){ 
     if($variables['node']->type === 'sports'){ 
      $variables['theme_hook_suggestions'][] = 'page__node__sports'; 
     } 
    } 
} 

을 그리고 난 내 테마의 템플릿 디렉토리에 page_ 노드 _sports.tpl.php 파일을 가지고, 나는 캐시를 삭제했다. 그러나 페이지 _ _sports.tpl.php 템플릿은 사용되지 않습니다. 일부 디버깅을 할 때 preprocess_page 함수의 시작 부분에 echo 문을 붙이면 화면에 나타나기 때문에 함수가 실행 중임을 알 수 있습니다. 그러나 템플릿 제안은 효과가 없습니다. 나는 $ 변수 [ 'theme_hook_suggestions'] = ... 행을 남긴 채 함수 내에서 if 문을 제거하기 만했지만 여전히 nada입니다.

어떤 아이디어가 잘못 되었나요?

답변

2

테마 폴더에 page.tpl.php도 추가 했습니까? 제안 사항은 원래 템플리트가있는 경우에만 작동합니다.

+0

네, 거기에 page.tpl.php 파일이 있습니다. – maxedison

+0

그리고 내가 게시 한 링크를보고 D7 버전을 직접 복사했지만 여전히 행운이 없습니다. – maxedison