2012-05-02 6 views
-1

작성한 뷰 (내가 수행하는 방법을 알고있는)에 대한 템플릿을 만들어야하지만이 페이지가 drupal html.php 코드로 묶이지 않게하고 싶습니다. 내가 만든 템플릿 파일에있는 페이지 만 결과 페이지가되도록하고 싶습니다.템플릿보기 전체 페이지 인 오버라이드

어떻게하면됩니까?

나는 lab

function yourthemename_preprocess_html(&$vars) { 
    if ($node = menu_get_object()) { 
    if($node->type == "lab") { 
     $vars['theme_hook_suggestions'][] = 'html__lab'; 
    } 
    } 
} 

그런 다음라는 파일 생성 콘텐츠 형식에 필요한 것을 수행하는이 발견 않았다 : HTML -

이 방법은 내보기에 사용할 수 있습니다 lab.tpl.php을 ? if($node->type == "lab")이어야합니까? 나는 if($view == "viewname")

감사 C 같은 것을 사용할 수 있습니다

답변

2

난 당신이 "뷰를 만들어"말할 때 당신이보기 + 페이지 표시를 의미 생각합니다. 따라서 http://mystite.com/mypage으로 이동하면보기 내용이 표시됩니다.

이 경우 코드를 약간 수정하면됩니다.

function yourthemename_preprocess_html(&$vars) { 
    if (arg(0) == 'mypage') {   
    $vars['theme_hook_suggestions'][] = 'html__mypage';   
    } 
} 

당신은 캐시를 올바른 .tpl.php 파일을 생성하고 삭제해야합니다.

+0

감사합니다. @lonut_A. 위의 내용을 추가하고 템플릿 파일을 만들었지 만 작동하지 않았습니다. 'domain.com/qrule'과'$ vars ['theme_hook_suggestions '] [] ='html-qrule.tpl.php '; 그리고 ('(arg (0) == 'qrule' html - qrule.tpl.php라는 템플릿 파일 (내 테마 폴더의 루트에 있음) – Cybercampbell

+0

ok .. 당신이 이것을 의미한다고 생각합니다 :'$ vars [ 'theme_hook_suggestions'] [] = 'html__qrule'; ' – Cybercampbell

+0

이 뷰 디스플레이에 사용자 정의 대안 인 page.tpl.php를 추가해야한다는 것도 알게되었습니다. 어떻게 추가합니까? 나는 $ vars [ 'theme_hook_suggestions'] [] = 'page__qrule';을 다음 라인에서 시도했으나 오류가 발생했습니다. – Cybercampbell