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.php
webform-form-{nid}.tpl.php
nid がノード 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.php
awebform-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']);
}