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

のドキュメントあなたがテーマを取得していない理由です - あなたのアイテムはデフォルトの動作と競合しています)。

あなたの連絡先ページのURLを "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

+0

EricP:それがうまくいかないかもしれない理由のスタックがありますが、あなたの設定を知らなければ、それを特定するのは難しいです。 Upshot:node-contact.tpl.phpは、ページの内容(あなたがやろうとしていると仮定している)は、デフォルトのテンプレート形式ではありません。特定のタイプまたは個々のノードのコンテンツをテーマにするには、node- .tpl.phpまたはnode- .tpl.phpを使用できます。 ノード以外の連絡先フォームのコンテンツだけをテーマにしたい場合は、form_alterフックを使用するのが最も簡単な方法です。 –

0

テーマではなくモジュールを作成しているようです。 drupal6を使用すると、既存のテーマを拡張することができ、各アイテムのテーマを上書きする必要がなくなります。

は、あなたはそれがかもしれない、実際には(すべてであなたのコードにその項目を追加する必要はありません全ページをテーマ.infoファイルのベーステーマを見てください、とのテーマにcreating your own theme

関連する問題