如何在Drupal 7中创建表单

时间:2015-04-01 10:21:00

标签: php drupal-7 drupal-modules drupal-theming

我想在Drupal 7中创建一个类似于以下链接的表单:https://bmicalculator.cc/?gclid=CIrvnaXv1MQCFQwnjgodvWgAlQ

表单应该以文本“BMI计算器”开头,然后链接中的2列相似,然后注意文字类似于“BMI对人们来说可能不准确”......

我知道Drupal Form Api的一点点,所以我可以创建表单但是如何在顶部显示文本,如何在2列中创建表单,然后在表单后再次发送文本。

我是Drupal的新手,因此对drupal的工作原理并不了解。

1 个答案:

答案 0 :(得分: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.
     ),
   ),
);

希望这有帮助。