Вывод элементов формы в строку

Главные вкладки

Аватар пользователя Tisar Tisar 17 сентября 2010 в 19:55

Требуется вывести несколько элементов формы в строку. а не каждый с новой строки как по умолчанию.
Требуется примерно функционал и вид изображённый в файле 1.jpg. Эта форма используется в модуле Image для импорта изображений. Пробовал разобраться в коде, но там чёрт ногу сломит(по крайне мере для меня)

Покажите пожалуйста кто нибудь пример кода, который это делает.

ВложениеРазмер
Иконка изображения 1.jpg90.19 КБ

Комментарии

Аватар пользователя Tisar Tisar 20 сентября 2010 в 22:42

Кажется разобрался как делать вывод элементов формы в строку


<?php
// $Id$ 

function xxx_menu() {
    
$items = array();

    

$items['listtask'] = array(
        
'title' => 'List of tasks',
        
'page callback' => 'ListTask_form'//Имя функции, вызываемой для отображения страницы, когда пользователь переходит по пункту меню.
        
'type' => MENU_NORMAL_ITEM,
    );
    return 
$items;
}

function 

ListTask_form() {
    return 
drupal_get_form('ListTask_my_form');
}

function 

ListTask_my_form($form_state)
{
    global 
$user;
    
$userid $user->uid;
    
$result =  db_query("SELECT ID, Date, Number, Name FROM {Task} WHERE IDUser=%d"$userid);
    
$index=0;
    while (
$r db_fetch_array($result))
    {
        
$form['ListTask'][$index] = array(
            
'#type' => 'markup',
        );
        
$form['ListTask'][$index]['select'] = array(
            
'#type' => 'checkbox',
            
'#return_value' => $r['IDe'],
            
'#default_value' => 0,
            
'#size' => 4,
        );
        
$form['ListTask'][$index]['Date'] = array(
            
'#type' => 'item',
            
'#value' => date("d.m.Y"$r['DateVote']),
            
'#size' => 4,
        );
        
$form['ListTask'][$index]['Number'] = array(
            
'#type' => 'item',
            
'#value' => $r['Number'],
            
'#size' => 4,
        );
        
$form['ListTask'][$index]['Name'] = array(
            
'#type' => 'item',
            
'#value' => $r['Name'],
            
'#size' => 4,
        );
        
$Task[$r['ID']]=$r;
        
$index++;
    }
    
$form['#theme'] = 'ListTask';
    return 
$form;
}
function 
xxx_theme() {
    return array(
        
'ListTask' => array(
            
'arguments' => array('element' => NULL),
        ),
    );
}
function 
theme_ListTask(&$element)
{
    
$header = array(theme('table_select_header_cell'), t('Date'), t('ID'), t('Name'));
    
    
// Темизирующая форму функция всегда принимает первым аргументом
    // элементы формы. Теперь мы можем добавлять свою разметку
    // или еще как-то изменять отображаемую форму.
    
foreach ($element['ListTask'] as $key => $Content)
    {
        if (
substr($key01) != '#')
        {
            
$row = array();
            
$row[] = drupal_render($element['ListTask'][$key]['select']);
            
$row[] = drupal_render($element['ListTask'][$key]['Date']);
            
$row[] = drupal_render($element['ListTask'][$key]['Number']);
            
$row[] = drupal_render($element['ListTask'][$key]['Name']);
            
$rows[] = $row;
        }
    }
    
$output.= theme('table'$header$rows);
    
    
//Эта строчка отрендерит все элементы формы, которые еще не были отрендерены.
    //Полезно для скрытых полей, хорошо использовать, чтобы убедиться, что мы ничего не упустили
    
$output .= drupal_render($element);
    
    return 
$output;
}
?>

А можно ли сделать в Drupale checkbox неактивным(небыло возможности изменить его состояние), куда копать по этому вопросу?

Как теме установить статус "Решено"?

Аватар пользователя Deleted_Deleted Deleted_Deleted 25 сентября 2011 в 13:30

"Tisar" wrote:
А можно ли сделать в Drupale checkbox неактивным(небыло возможности изменить его состояние), куда копать по этому вопросу?

Можно просто определенному элементу поставить атрибут '#disabled'