2012-06-01 3 views
0

Я создал обычную форму. & есть четыре элемента. Я хочу сохранить все эти элементы в одной строке. Как это сделать ?Drupal 6: Как сохранить несколько элементов формы в одной строке при создании пользовательской формы?

Я искал его и не мог найти что-либо соответствующее. Если что-то нужно сделать с помощью CSS, пожалуйста, предложите мне, где положить DIV в него.

Я вставив код ниже -

<?php 

function taskform_form(&$node, $form_state) 
{ 


    $form['date'] = array(
    '#type' => 'date', 
    '#title' => t('Date'),   
); 

    $form['edproject'] = array(
    '#type' => 'select', 
    '#title' => t('Project'), 

    '#options' => array(
     1 => 'Konnected', 
     2 => 'eLearning', 
     3 => 'Others', 
    ), 
    '#description' => t('Choose a project'), 
); 

    $form['task'] = array(
    '#type' => 'textfield', 
    '#title' => t('Task'), 
    '#size' => 30, 
    '#required' => TRUE, 
    '#maxlength' => 30, 
    '#description' => t('Enter the task'), 
); 

    $form['remarks'] = array(
    '#type' => 'textarea', 
    '#title' => t('Remarks'), 
    '#size' => 30, 
    '#cols' => 6, 
    '#description' => t('Enter remarks (If any).'), 
); 

    $form['submit'] = array(
    '#type' => 'submit', 
    '#value' => t('Add Task'), 
    '#submit' => array('taskform_form_submit'), 
); 
    return $form; 

} 

ответ

0

Вы можете использовать префикс и суффикс свойства элементов формы и отобразить его в одной строке. Пожалуйста, см. Код ниже, если он будет вам полезен.

function taskform_form(&$node, $form_state) 
{ 
    $form['date'] = array(
    '#type' => 'date', 
    '#title' => t('Date'), 
    '#prefix' => '<table><tr><td>', 
    '#suffix' => '</td>', 
); 

    $form['edproject'] = array(
    '#type' => 'select', 
    '#title' => t('Project'), 

    '#options' => array(
     1 => 'Konnected', 
     2 => 'eLearning', 
     3 => 'Others', 
    ), 
    '#description' => t('Choose a project'), 
    '#prefix' => '<td>', 
    '#suffix' => '</td>', 
); 

    $form['task'] = array(
    '#type' => 'textfield', 
    '#title' => t('Task'), 
    '#size' => 30, 
    '#required' => TRUE, 
    '#maxlength' => 30, 
    '#description' => t('Enter the task'), 
    '#prefix' => '<td>', 
    '#suffix' => '</td>', 
); 

    $form['remarks'] = array(
    '#type' => 'textarea', 
    '#title' => t('Remarks'), 
    '#size' => 30, 
    '#cols' => 6, 
    '#description' => t('Enter remarks (If any).'), 
    '#prefix' => '<td>', 
    '#suffix' => '</td></tr></table>', 
); 

    $form['submit'] = array(
    '#type' => 'submit', 
    '#value' => t('Add Task'), 
    '#submit' => array('taskform_form_submit'), 
); 

    return $form; 
} 
+0

Это ничего не делает ... точно такой же взгляд ... – RajeevK

+0

Вы очистили свой кеш и видите, что форма отображается в таблице как структура. –

+0

Это делается на данный момент .. Благодарим за помощь :) – RajeevK

0

В качестве альтернативы вы можете использовать префикс и суффикс, чтобы обернуть весь элемент в div и поместить div из CSS. Таким образом вы можете отделить структурную информацию от рендеринга.

Другой вариант - написать пользовательские функции темы, которые делают магию. Однако я бы выбрал решение для префикса-суффикса, поскольку его легче поддерживать в краткосрочной перспективе.

Отъезд this quick tutorial, раздел Theming Forms описывает ваши варианты.