Drupal联系人表单未显示主题

Drupal联系人表单未显示主题,drupal,drupal-themes,drupal-contact-form,Drupal,Drupal Themes,Drupal Contact Form,所以我已经定制了用户登录/通过/注册页面Drupal6,没有问题。然而,我现在对联系人邮件页面(启用了联系人模块)做了同样的事情,我得到的只是联系人表单,没有主题。我做错了什么 function mytheme_theme() { return array( 'user_login' => array( 'template' => 'user-login', 'arguments' => array('form' => NULL),

所以我已经定制了用户登录/通过/注册页面Drupal6,没有问题。然而,我现在对联系人邮件页面(启用了联系人模块)做了同样的事情,我得到的只是联系人表单,没有主题。我做错了什么

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),
    ),
  );
}

看起来您正在创建一个模块,而不是一个主题。使用drupal6,您可以扩展现有的主题,而无需尝试覆盖每个项目的主题


查看主题文件中的基本主题和

上的文档,以主题化整个页面,您根本不需要将该项目添加到代码中(事实上,这可能是您没有获得任何主题的原因-您的项目与默认行为相冲突)

假设联系人页面的url为“”,只需在主题目录中创建page-contact.tpl.php(…并清除主题注册表,每次都会收到我的消息)


这适用于所有页面-基于page.tpl.php创建模板,并以url参数命名。例如,page-taxonomy-term.tpl.php将用于主题。

我试图添加一个node-contact.tpl.php文件,但Drupal没有使用它。EricP:它可能无法工作的原因有很多,但在不了解您的设置的情况下,很难确定。结果:node-contact.tpl.php仅对页面内容进行主题化(我假设您正在尝试这样做)并不是默认的模板格式。您可以使用node-.tpl.php或node-.tpl.php为特定类型或单个节点的内容设置主题。如果只想对(非节点)联系人表单的内容重新设置主题,最快的选择是使用form\u alter hook。