2015-04-01 4 views
1

Я хочу, чтобы создать форму в Drupal 7 аналогично тому, что он находится в следующей ссылке: https://bmicalculator.cc/?gclid=CIrvnaXv1MQCFQwnjgodvWgAlQКак создать форму в Drupal 7

Форма должна начинаться с текстом «BMI Calculator», затем 2 колонки, аналогичные по ссылке а затем обратите внимание на текст, похожий на «BMI может быть неточным для людей ...»

Я знаю немного Drupal Form Api, чтобы создать форму, но как отображать текст вверху, как создать форму в 2 столбцах а затем снова текст после формы.

Я новичок в Drupal и, следовательно, не имею глубокого понимания того, как работает drupal.

ответ

2

Чтобы отобразить текст сверху, используйте элемент #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. 
    ), 
    ), 
); 

Надеется, что это помогает.