2009-08-27 4 views
0

Donc, je suis allé et personnalisé les pages de connexion utilisateur/passer/enregistrer Drupal 6 et aucun problème. Cependant, je fais maintenant la même chose avec la page de contact (module de contact activé) et tout ce que je reçois est le formulaire de contact et aucun thème. Qu'est-ce que je fais mal?Le formulaire de contact Drupal n'affiche pas de thème

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

Répondre

1

Pour thème une pleine page vous ne devriez pas avoir besoin d'ajouter cet élément dans votre code du tout (en fait, il peut être la raison pour laquelle vous n'obtenez aucun thème - votre article est en conflit avec le comportement par défaut). En supposant que l'URL de votre page de contact est "http://www.your-site.com/contact", créez juste page-contact.tpl.php dans votre répertoire de thème (..et effacez le registre des thèmes, ça m'amène à chaque fois).

Cela vaut pour toutes les pages: créez un modèle basé sur page.tpl.php et nommé d'après les arguments url. Par exemple, page-taxonomy-term.tpl.php sera utilisé pour le thème http://www.your-site.com/taxonomy/term.

+0

J'ai essayé d'ajouter un fichier node-contact.tpl.php mais Drupal ne l'utilise pas. – EricP

+0

EricP: il y a toute une pile de raisons pour lesquelles cela ne fonctionne peut-être pas, mais sans connaître votre configuration, c'est difficile à identifier. Upshot: node-contact.tpl.php à thème juste le contenu d'une page (ce que je suppose est ce que vous essayez de faire) n'est pas un format de modèle par défaut. Vous pouvez utiliser node- .tpl.php ou node- .tpl.php pour mettre en forme le contenu de types spécifiques ou de nœuds individuels. Si vous souhaitez modifier le thème d'un formulaire de contact (non-nœud), l'option la plus rapide consiste à utiliser un hook form_alter. –

0

Il semble que vous créez un module plutôt qu'un thème. Avec drupal6, vous pouvez étendre un thème existant, annulant le besoin pour vous d'essayer de remplacer le thème pour chaque élément.

Jetez un oeil sur le thème de base dans le thème fichier .info, ainsi que la documentation sur creating your own theme

Questions connexes