2013-05-16 3 views
0

모듈 이름 mymodule을 작성하려고 시도했으며 drupal6에서 해당 모듈에 테마를 적용하려고했습니다.drupal6에서 사용자 정의 테마를 작성하고 템플릿을 적용하는 방법

내 모듈의 .info 파일을 추가했고 내 테마 폴더에 mymodule.tpl.php 파일을 만들고 관리자가 모듈을 사용하도록 설정했습니다. 하지만 URL을 통해 모듈에 액세스하면 흰색 페이지를 반환합니다.

내 mymodule.module.php 파일은 테마 내 모듈에 적용되지 않는 이유를 모르겠어요

function mymodule_menu() { 
    $items = array(); 

    $items['mymodule'] = array(
    'page callback' => 'mymodule_page', 
    'access arguments' => array('access content'), 
    'type' => MENU_CALLBACK, 
); 

    return $items; 
} 

function mymodule_page() { 
    $result = db_query('SELECT * from node'); 
    return theme('mymodule', array('output' => $result)); 
} 

function mymodule_theme() { 
    $content = array(
    'custom' => array(
     'arguments' => array('output' => 'NULL'), 
     'template' => path_to_theme() . '/mymodule', 
     'path' => '/' 
    ), 
); 
    return $content; 
} 

이 포함되어 있습니다. 도와주세요.

답변

1

내가보기에 문제는 pathtemplate 키입니다. 드루팔 문서 (http://api.drupal.org/api/drupal/developer%21hooks%21core.php/function/hook_theme/6)에서

:

경로 : 파일의 경로를 무시하는 것은 사용되는. 일반적으로 모듈 또는 테마 경로가 사용되지만 파일이 기본 경로 인 에 없으면 여기에 포함하십시오. 이 경로는 Drupal 루트 디렉토리에 상대적이어야합니다.

그래서 당신은 드루팔 루트 폴더 (있는 더 mymodule.tpl.php 없음) 발생한다 /와 모듈 경로를 무시하고 있습니다. path 키를 제거해보십시오.

또한 template 키는 템플릿 파일 이름이어야합니다. 문서 :

템플릿 : 지정된 경우이 테마 구현은 템플릿이며 확장자가없는 템플릿 파일은 입니다. 템플릿 파일 이름이 아니라 (당신이 path_to_theme 기능을 사용하여 제공하고 있습니다) 템플릿의 전체 경로를 제공해야합니다으로

그래서, path_to_theme 일부를 제거하려고합니다.

희망이 도움이 될 것입니다!

+0

덕분에 .. – anoop

+0

기꺼이 도와 드리겠습니다! :) – endorama

+0

Yah는 나를 위해 일했습니다. 현재 나는 page.tpl.php의 컨텐트 영역에서만이를 볼 수 있습니다. 테마의 전체 템플릿을 어떻게 바꿀 수 있습니까? 이 질문을 여기에 추가했습니다 http://stackoverflow.com/questions/16609463/how-can-i-change-the-entire-template-of-the-page-according-to-module-in-drupal6 – anoop