Drupal 7 自定义主题管理登录Drupal7

Drupal 7 自定义主题管理登录Drupal7,drupal-7,admin,drupal-themes,Drupal 7,Admin,Drupal Themes,我在自定义主题中使用Drupal 7管理员登录时遇到问题。在尝试提交登录表单时创建自定义主题后,我收到以下错误: “访问被拒绝您无权访问此页。” 当我恢复到默认主题(如Bartik)时,一切又恢复正常 在阅读了很多解决方案之后,我似乎找不到适合我的解决方案。有什么想法吗 编辑: 问题似乎是my page.tpl.php中的“drupal_呈现(drupal_get_form('search_block_form'))”。对于我的主题,我需要一个没有任何容器的表单标记,所以我使用这个函数来呈现表单

我在自定义主题中使用Drupal 7管理员登录时遇到问题。在尝试提交登录表单时创建自定义主题后,我收到以下错误:

“访问被拒绝您无权访问此页。”

当我恢复到默认主题(如Bartik)时,一切又恢复正常

在阅读了很多解决方案之后,我似乎找不到适合我的解决方案。有什么想法吗

编辑: 问题似乎是my page.tpl.php中的“drupal_呈现(drupal_get_form('search_block_form'))”。对于我的主题,我需要一个没有任何容器的表单标记,所以我使用这个函数来呈现表单。对我来说,解决办法是像这样改变它:

$form_array= drupal_get_form("user_login"); 
$form = drupal_render($form_array);
echo $form;
首先看看这个: 您的drupal parh/user-如果此链接指向登录表单,则您只需自定义登录表单

如果没有帮助,请尝试创建登录名

更新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
是主题的名称。
path
指向主题目录中存在user-login.tpl.php文件的路径[此处
drupal\u get\u path('theme','themename')。/templates'
表示user-login.tpl.php文件位于主题的模板目录中]

用户登录.tpl.php的代码

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

清除缓存并查看发生了什么