0

だから私は行って、ユーザーのログイン/パス/登録ページDrupal 6をカスタマイズしましたが、問題はありません。ただし、現在、連絡先メールページ(連絡先モジュールが有効)で同じことを行っています。取得するのは、連絡先フォームとテーマなしだけです。私は何が間違っているのですか?

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

2 に答える 2

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のテーマに使用されます。

于 2009-08-28T03:01:56.777 に答える
0

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

theme .infoファイルの基本テーマと、独自のテーマの作成に関するドキュメントをご覧ください。

于 2009-08-27T09:39:37.160 に答える