2009-08-27 70 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

的文件,它可能是你没有得到任何主题的原因 - 你的项目与默认行为冲突)。

假设您的联系页面的网址是“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 2010-12-16 18:58:06

+0

EricP:有很多原因可能导致它不能正常工作,但不知道你的设置,很难确定。 Upshot:node-contact.tpl.php主题只是一个页面的内容(我假设你正在尝试做的)不是默认的模板格式。您可以使用node- .tpl.php或node- .tpl.php为特定类型或单个节点的内容提供主题。 如果你想重新只是一个(非节点)联系表单的内容,最快的选择是使用form_alter钩子。 – 2011-01-04 00:52:07

0

它看起来像你正在创建一个模块,而不是一个主题。借助drupal6,您可以扩展现有主题,否定您尝试重写每个项目的主题的需要。

已在主题.info文件一看基本主题,以及主题整版你不应该需要将该项目添加到您的代码在所有的(其实在creating your own theme