2009-08-27 4 views
0

그래서 사용자 로그인/패스/등록 페이지 Drupal 6 및 아무런 문제가 없어졌습니다. 그러나 나는 이제 연락처 메일 페이지 (연락처 모듈 사용)와 동일한 작업을 수행하고 내가 얻은 모두는 연락처 양식과 NO 테마입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?Drupal 문의 양식에 테마가 표시되지 않습니다.

function mytheme_theme() { 
    return array(
    'user_login' => array(
     'template' => 'user-login', 
     'arguments' => array('form' => NULL), 
    ), 
    'user_register' => array(
     'template' => 'user-register', 
     'arguments' => array('form' => NULL), 
    ), 
    'user_pass' => array(
     'template' => 'user-pass', 
     'arguments' => array('form' => NULL), 
    ), 
    'contact_mail_page' => array(
     'template' => 'page-contact', 
     'arguments' => array('form' => NULL), 
    ), 
); 
} 

답변

1

에 대한 문서를 가지고 주제가 없으므로 기본 비헤이비어와 충돌합니다.

귀하의 연락처 페이지에 대한 URL을 가정하면 "http://www.your-site.com/contact"입니다. 테마 디렉토리에 page-contact.tpl.php를 만들고 (테마 레지스트리를 지우고, 매번 나를 구합니다).

이것은 모든 페이지에 적용됩니다. 즉, page.tpl.php를 기반으로하는 템플릿을 만들고 url 인수의 이름을 따서 지정합니다. 예를 들어, page-taxonomy-term.tpl.php는 테마 http://www.your-site.com/taxonomy/term에 사용됩니다.

+0

node-contact.tpl.php 파일을 추가하려고했지만 Drupal이이 파일을 사용하지 않았습니다. – EricP

+0

EricP : 왜 작동하지 않을 지에 대한 전체적인 이유가 있지만 설정을 알지 못하면 정확히 찾아 내기가 어렵습니다. 결론 : node-contact.tpl.php는 페이지의 내용 (테마로 가정합니다)은 기본 템플릿 형식이 아닙니다. node- .tpl.php 또는 node- .tpl.php를 사용하여 특정 유형 또는 개별 노드의 컨텐츠를 테마로 지정할 수 있습니다. (노드가 아닌) 연락처 양식의 컨텐트 만 다시 테마 화하려면 가장 빠른 옵션은 form_alter 후크를 사용하는 것입니다. –

0

테마가 아닌 모듈을 만드는 것처럼 보입니다. drupal6을 사용하면 기존 테마를 확장 할 수 있으므로 각 항목의 테마를 무시하고 다시 정의 할 필요가 없습니다.

는 수도, 주제 .info 파일의 기본 테마를 살펴 및 전체 페이지를 사용하면 (사실 전혀 코드에 해당 항목을 추가 할 필요가 없습니다 주제 creating your own theme