フォームのテーマを設定することができました。次に、送信ボタンを<div>
、ただし送信ボタンのテーマを設定することはできません。
このコードはフォームで機能しました。
print "text text text";
print drupal_render_children($variables["form"]);
これが、送信ボタンのテーマを設定するために使用したコードです。
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
'#attributes' => array('style' => "padding: 0 10px;"),
'#theme' => "submit",
);
function scores_theme($existing, $type, $theme, $path) {
$path = drupal_get_path('module', 'scores');
return array(
'submit' => array(
'render element' => 'submit',
'template' => 'submit',
'path' => $path,
),
);
}
Submit.tpl.phpには何を入れればよいですか?これらはどれも機能しません。
print drupal_render_children($submit);
print drupal_render($variables['submit']);
print drupal_render($submit);
function YOUR_THEME_form_FORM_ID_alter(&$form, &$form_state) {
$form['submit']['#prefix'] = '<div class="scores-submit-btn">';
$form['submit']['#sufix'] = '</div>';
}
そして、水平方向のフォームを使用している場合、プレフィックス/サフィックスにキーフィールドをもう1つ含めない場合、実際にはまったくうまくいきません...
だから、これを...水平線のために。タイプフォーム(通常、左にフロートされ、最後に送信されるフォーム):
これだけではなく...
...
'#prefix' => "<div class='submit-button-custom'>",
'#suffix' => "</div>",
...
これを行う...
...
'#prefix' => "<div class='submit-button-custom'>
<label for=op> <label>",
'#suffix' => "</div>",
...
ここで、「op」は、想定される送信ボタンの「name」属性(この場合)です。
お役に立てれば。
#prefixと#suffixでフォーム要素をラップできるはずです:
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
'#attributes' => array('style' => "padding: 0 10px;"),
'#theme' => "submit",
'#prefix' => "<div class='submit-button-custom'>",
'#suffix' => "</div>",
);
各Drupalフォームには送信ボタンがあるため、送信ボタンのスタイルを設定する場合は、#prefixおよび#suffixフォームプロパティを使用して2つの方法でそれを実現できます。#prefixおよび#suffixはラップしますフォーム要素を特定のHTMLタグに挿入します。
カスタムフォームでは、以下を使用します。
_$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
'#prefix' => "<div class='scores-submit-btn'>",
'#suffix' => "</div>",
);
_
別のモジュールで作成されたフォームでは、hook_form_alte()
を使用してフォーム要素を追加できます。
_function hook_form_alter(&$form, &$form_state, $form_id) {
switch ($form_id) {
case 'FORM_ID':
$form['submit']['#prefix'] = "<div class='scores-submit-btn'>";
$form['submit']['#sufix'] = "</div>";
break;
}
}
_
CSSファイルで、必要なスタイルを指定するだけです。
_.scores-submit-btn {
padding: 0 10px;
}
_
これを使えます
$form['item_name'] = array(
'#title' => '<span>Pin Number</span>',
'#type' => 'password',
'#size' => 35,
'#maxlength' => 40,
'#required' => TRUE,
);