3

タイトルが説明しているように、私はWebフォームのスタイルを設定する必要があります。そのために、CSSプロパティを与えるために、div内の特定のフィールドを囲む必要があります。

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

何か助けはありますか?

4

3 に答える 3

1

テーマの template.php ファイルで、フォーム ID を取得する必要があり、次のようなことができます。

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

FORM_ID をフォームの ID に置き換えます。

編集

特定のフィールドに追加するには、次のようにします (次のようにします)。

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

テストする時間はありませんが、ELEMENT_NAME を要素に置き換えると、問題が解決するはずです。ここに良いページがあります - http://drupal.org/node/79086

于 2012-01-16T10:08:49.770 に答える
0

さらに: div を含む Web フォームの送信ボタンを追加する場合は、次のフックが役に立ちます。

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>';    
}
于 2016-01-26T14:02:20.520 に答える
0

#field_prefix と #field_suffix を使用して、任意の HTML 要素でフィールドをラップできます。以下の例を参照してください。

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

行き方を教えて...

于 2014-09-19T10:41:31.223 に答える