Как разместить разметку после кнопки отправки в drupal 7? - PullRequest
3 голосов
/ 28 марта 2012

цель: я хочу разместить текст после кнопки отправки, используя hook_form_alter.

Ниже приведен мой код, но если я использую ключ веса в массиве, его положение перемещается в форме, но не нижекнопка отправить / сохранить.Что я могу сделать, чтобы он опустился ниже кнопки сохранения?

$xdmp_twoshow="text";

$form['previewxdmp'] = array(
'#type'=>'markup',
'#markup'=>$xdmp_toshow,
'#weight' => 35,
 );    

Ответы [ 3 ]

13 голосов
/ 28 марта 2012

Каждый элемент может иметь свойство #prefix и #suffix, которое будет размещать текст / HTML сразу после визуализированного вывода.Имея это в виду, вы можете просто прикрепить суффикс к существующей кнопке отправки следующим образом:

$form['submit']['#suffix'] = '<p>Some text to place after the submit button</p>';

Очевидно, что расположение кнопки отправки в массиве $form может немного отличаться в зависимости от формы, которую вы 'перевоплощение.

1 голос
/ 20 января 2016

Я сделал это следующим образом:

/**
 * Implements hook_form_FROM_ID_alter()
 */
function mymodule_form_mycontenttype_node_form_alter(&$form, &$form_state, $form_id) {
  $form['actions']['submit']['#suffix'] = '<p>' . t('Some text to place after the submit button.') . '</p>';
}
0 голосов
/ 05 июня 2018

Кнопки отправки обычно располагаются в $form['actions'], вес которого по умолчанию равен 100. Вы можете либо установить вес $form['actions'] по своему усмотрению, либо дать другим элементам вес больше 100, чтобы разместить их после кнопка отправки.

Пример 1:

Все элементы с #weight больше 34 будут размещены после кнопки отправки (и любых других кнопок действий).

$form['actions']['#weight'] = 34;

Пример 2:

Только данный элемент будет помещен после кнопки отправки.

$form['previewxdmp'] = array(
  '#type' => 'markup',
  '#markup' => $xdmp_toshow,
  '#weight' => 101,
 );
...