2012-01-16 11 views
3

と書いてありますが、私はwebformをスタイルする必要があります。そのためにはCSSプロパティを与えるためにdivの特定のフィールドを囲む必要がありますそれをやってみよう。Drupal - 特定のWebフォーム要素をdivで囲んで

私はhook_form_alterでフォームをキャッチしましたが、後で何をするのか分かりません。

助けが必要ですか?あなたがフォームのIDを取得するには、その後、あなたは、次のような何かを行うことができます必要があるtemplate.phpファイルあなたのテーマで

+1

この質問をd​​rupalのために以下のリンクに投稿すると運が増えるかもしれません。http://drupal.stackexchange.com/ – Undefined

+0

パーティーに遅れていますが、既存のクラスはありませんあなたのスタイリングの範囲を指定します。さらに、drupal/webformのバージョンに応じて、管理領域にラッパー・クラスを追加できます。 – Kiee

答えて

1

function phptemplate_webform_form_FORM_ID ($form) { 
    $form['#prefix'] = '<div class="CLASS NAME">'; 
    $form['#suffix'] = '</div>'; 
    return _phptemplate_callback('webform_form_FORM_ID', array('form' => $form)); 
} 

は、フォームのIDでFORM_IDを交換してください。ちょうど(のようなもの)を行う特定のフィールドのためにそれらを追加するには

EDIT

この:

$form['ELEMENT_NAME']['#prefix'] = '<div class="CLASS NAME">'; 
$form['ELEMENT_NAME']['#suffix'] = '</div>'; 

私はそれをテストするが、要素とELEMENT_NAMEを交換する時間を持っていませんでしたし、それはすべきあなたの問題を解決してください。ここに良いページがあります - http://drupal.org/node/79086

+0

ええ、それは試してはいけません*フォームを囲むdivを追加してください。しかし、私がしたいのは、フォーム内の特定のフィールドを囲むdivとsubmitボタンを追加することです。 – magtak

+0

OKああ、編集をしてみてください...それは私が必要なものに対し、div要素に特定の要素を囲むうとしてのいずれかでそれをしないだろう – SpaceBeers

+0

は次のとおりです。

field1,2,3,4,5
field6,7,8,9,10>
とにかく、もうあなたを気にしないように、 Fieldsetコンポーネントはうまく動作します。代わりにそれを使用して終了しました。おかげでたくさん! – magtak

0

#field_prefixと#field_suffixを使用すると、HTML要素でフィールドを折り返すことができます。さらに...私はあなたが行く方法を知っている

0

をしてみましょう

function auworks_form_alter(&$form, $form_state, $form_id) { 
     switch($form_id) { 
     case 'webform_client_form_1': 
      $form['submitted']['title']['#field_suffix'] = '<span class="field-suffix">#</span>'; 
      break; 
     } 
    } 

:あなたはWebフォームのボタンを提出へのdivのを含む追加したい場合には、ここに役立つフックがあります以下の例を参照してください。あなたアウトは:

function YOURTHEMENAME_form_alter(&$form, &$form_state, $form_id) { 

    if ($form['#form_id'] === 'webform_client_form_YOURWEBFORMID') { 
     $form_structure = &$form['submitted']; 

     $form['actions']['submit']['#prefix'] = '<div class="extra_div">'; 
     $form['actions']['submit']['#suffix'] = '</div>'; 
    } 

} 

あなたがすべて Webフォームにこれを適用したい場合は、ちょうどこのように、離れ条件を残す:

function YOURTHEMENAME_form_alter(&$form, &$form_state, $form_id) { 

    $form_structure = &$form['submitted']; 

    $form['actions']['submit']['#prefix'] = '<div class="extra_div">'; 
    $form['actions']['submit']['#suffix'] = '</div>';  
} 
関連する問題