Я хочу создать форму в Drupal 7, похожую на следующую: https://bmicalculator.cc/?gclid=CIrvnaXv1MQCFQwnjgodvWgAlQ
Форма должна начинаться с текста «Калькулятор ИМТ», затем 2 столбца, похожих на ссылку, и затем текст примечания, похожий на «ИМТ может быть неточным для людей …»
Я немного знаю Drupal Form Api, так что я могу создавать формы, но как отображать текст вверху, как создавать форму в 2 столбцах, а затем снова текст за формой.
Я новичок в Drupal и, следовательно, не понимаю, как работает drupal.
Чтобы отобразить текст сверху, используйте элемент #markup в массиве визуализации формы. Затем вы можете встроить HTML, который вам нужен в этой разметке.
Для двух столбцов используйте тип #container в массиве визуализации формы. Это позволяет вам обернуть <div>
вокруг дочерних элементов. Затем вы можете перемещать div по мере необходимости.
Так что пример будет
$form = array(
/*
* ... form header info here
*/
'header' => array(
'#markup'=>'<h1> BMI Calc </h1>',
),
'col1'=>array(
'#type'=>'container',
'subitemA'=>array(
//some stuff
),
'subitemB'=>array(
//some stuff
),
'#attributes' => array(
'class' => array('class-name'), //use css to float left
//alternatively float left using style in this area
),
),
'col2'=>array(
'#type'=>'container',
'subitemA'=>array(
//some stuff
),
'subitemB'=>array(
//some stuff
),
'#attributes' => array(
'class' => array('class-name'), //use css to float left
//alternatively float left using style in this area
//NOTE: still float left, the divs will align as two columns unless
//screen space is too small, then it will stack responsively.
),
),
);
Надеюсь это поможет.
Других решений пока нет …