web-dev-qa-db-ja.com

drupal 7でノード追加フォームをテーマ化することは可能ですか?

Zen drupal-7サブテーマを使用しています。 edisonという名前のコンテンツタイプを作成しました。ユーザーのノード追加フォームを変更する必要があります。 page.node--add--edison.tpl.phptemplate.phpに追加してみました。私は次のコードを使用しました:

if (isset($variables['node'])) {
  $variables['theme_hook_suggestions'][] = 'page__node__' . str_replace('_', '--', $variables['node']->type);
}

$variables['theme_hook_suggestions']変数が出力され、次のようになります。

Array ( 
  [0] => page__node 
  [1] => page__node__add 
  [2] => page__node__add__edison 
  [3] => page__node__edison 
) 

カスタム.tplはpage.tpl.phpをオーバーライドしていません。

1
Sridharan

$variables['theme_hook_suggestions'][]は、コンテンツを追加するフォームではなく、ノード自体のテーマのみを提案します!

フォームをどの程度正確に表示したいかをお知らせください。いくつかのCSSコードで十分な場合があります。

とにかく、ノードをテーマに追加するコンテンツを追加できますhook_form_alterフォーム要素にいくつかの属性を追加するには、CSSクラスを追加するか... Firebug を使用してフィールドIDまたはクラス名を取得し、CSSを使用してそれらのテーマを設定することもできます。

次のコード

function THEME_form_alter(&$form, $form_state, $form_id) { 
      print $form_id;
}

フォームのIDを提供します。ノード追加フォームのIDを見つけて、変更を行います。お気に入り

function THEME_form_alter(&$form, $form_state, $form_id) { 
      if($form_id == "NODE_ADD_FORM")
            ////
}
1
M a m a D