2014-12-01 5 views
0

내 사용자 정의 테마에서 Drupal 7 admin 로그인을 사용하는 데 문제점이 있습니다. 로그인 양식을 제출하려고 할 때 사용자 정의 테마를 만든 후 다음 오류가 발생합니다.사용자 정의 테마 admin 로그인 Drupal 7

"액세스가 거부되었습니다.이 페이지에 액세스 할 권한이 없습니다."

기본 테마 (예 : 바틱)로 돌아 가면 모든 것이 다시 잘됩니다.

많은 솔루션을 읽은 후에 나에게 맞는 솔루션을 찾지 못하는 것 같습니다. 어떤 아이디어?

는 편집 : 문제는 "drupal_render (drupal_get_form ('search_block_form'))"내 page.tpl.php에 것으로 보인다. 내 테마에 대한 모든 컨테이너없이 양식 태그가 필요하므로이 함수는 폼을 렌더링하는 데 사용됩니다. 이 당신의-드루팔-parh /이 링크 -if 사용자는 로그인 양식에 소요, 당신은 단지 사용자 정의해야합니다

$form_array= drupal_get_form("user_login"); 
$form = drupal_render($form_array); 
echo $form; 

답변

0

먼저 이것 좀보세요 : 나를 위해이 솔루션은 같이 변경했다 로그인 양식.

도움이되지 않는다면 로그인을 시도하십시오.

업데이트 templete.php

function themename_theme() { 
    $items = array(); 
    $items['user_login'] = array(
    'render element' => 'form', 
    'path' => drupal_get_path('theme', 'themename') . '/templates', 
    'template' => 'user-login', 
    'preprocess functions' => array(
     'themename_preprocess_user_login' 
    ), 
); 
    return $items; 
} 

function themename_preprocess_user_login(&$vars) { 
    $vars['intro_text'] = t('Custom login form'); 
} 

themename는 테마의 이름입니다. 사용자 login.tpl.php 파일이 테마 디렉토리에 존재하는 경로 path 점은 [여기 drupal_get_path('theme', 'themename') . '/templates'사용자 login.tpl.php 파일이 테마의 템플릿 디렉토리에 있음을 의미한다].

코드 사용자 login.tpl.php에 대한 :

<p><?php print render($intro_text); ?></p> 
<div class="redha-user-login-form-wrapper"> 
    <?php print drupal_render_children($form) ?> 
</div> 

캐시 지우기 어떻게되는지.