Drupal の特定の Web フォームから送信ボタンを削除したいのですが、これは可能ですか。
可能であれば、同じフォームから前のボタンも削除したいと思います。
Drupal の特定の Web フォームから送信ボタンを削除したいのですが、これは可能ですか。
可能であれば、同じフォームから前のボタンも削除したいと思います。
@googletopで示されているように、hook_form_alter()を使用してそのフォームをターゲットにして変更する必要があります
送信の設定を解除するには、カスタムモジュールで次のように機能します。
<?php
function my_custom_module_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'webform_client_form_130') {
if ($thiscondition && $thatcondition){
unset($form['actions']['submit']);
}
}
}
?>
「前へ」ボタンについても同じですが、フォーム配列で見つける必要があります。
webform-form.tpl.phpwebform-form-{nid}.tpl.phpnid がノード ID と等しい場所に名前を変更しますprint drupal_render($form['submitted']);に
1 行だけ追加し、次のunset($form['actions']['submit']);わたしにはできる。
プロトタイプなどの簡単な修正が必要な場合は、CSS でボタンを非表示にすることができます。
.block-webform .form-actions {
visibility:hidden;
}
非表示のボタンはスペースを占有しますが、表示することはできません。
を使用して、drupal の任意のフォームを変更できますhook_form_alter。
webform-form.tpl.phpawebform-form-{nid}.tpl.phpまたは a webform-form-[nid].tpl.php(テンプレート ファイルで指定されている) の作成が機能しないため、これらの単純な php 行を使用しました。$nidそのため、特定の Web フォーム ノードで送信ボタンの設定を解除するためだけに、Web フォームで if 条件を使用しました。
print drupal_render($form['submitted']);
$arrayWithoutSubmitButton = array( 29, 30, 31, 32);
if( in_array( $nid, $arrayWithoutSubmitButton)){
unset($form['actions']['submit']);
}