Темизация модуля с формой, или вывод views [РЕШЕНО]

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

Аватар пользователя chudomozg chudomozg 8 апреля 2011 в 8:23

Здравствуйте, совсем запутался помогите-спасите.Вопрос в следующем:

есть мой модуль:

//реализация хука menu
function dvtrade_search_menu()
{
        $items = array();
        $items['autoparts'] = array(
        'title' => 'Автозапчасти',  //Заголовок страницы
        'description' => 'Автозапчаасти', //Описание
        'page callback' => 'dvtrade_search_content', //Функция отображающая страницу
        'page arguments' => array('dvtrade_search_form'), //Содержимое формы
        'access arguments' => array('access content'), //Права доступа, если дать
        //анонимусам право 'access administration pages', они смогут админить наш модуль.
        'type' => MENU_NORMAL_ITEM, //Нормальный пункт меню
        );
  return $items;
 
}

//КАК ОТОБРАЗИТЬ ЧТО ТО КРОМЕ ФОРМЫ?
function dvtrade_search_content()
{
        return drupal_get_form('dvtrade_search_form')
}

//форма поиска автозапчастей
function dvtrade_search_form()
{
        $form['dvtrade_search_name'] = array(
        '#type' => 'select',
        '#title' => t('Тип запчасти (Название)'),
        'options'=>$dvtrade_search_type_opt,
        );
       
        $form['dvtrade_search_l_r'] = array(
    '#type' => 'radios',
    '#options' => array('r'=>t('Прав.'),'l'=>t('Лев.'),'Any'=>t('Любой')),
        );
       
        $form['dvtrade_search_f_r'] = array(
    '#type' => 'radios',
    '#options' => array('f'=>t('Передн.'),'r'=>t('Задн.'),'Any'=>t('Любой')),
        );
       
        $form['dvtrade_search_u_d'] = array(
    '#type' => 'radios',
    '#options' => array('u'=>t('Верхн.'),'d'=>t('Нижн.'),'Any'=>t('Любой')),
        );
       
        $form['dvtrade_search_firm_name'] = array(
        '#type' => 'select',
        '#title' => t('Марка'),
        'options'=>$dvtrade_search_firm_name_opt,
        );
       
        $form['dvtrade_search_model_name'] = array(
        '#type' => 'select',
        '#title' => t('Модель'),
        'options'=>$dvtrade_search_model_name_opt,
        );
       
        $form['dvtrade_search_body'] = array(
        '#type' => 'textfield',
        '#title' => t('Номер кузова'),
        );
       
        $form['dvtrade_search_engine'] = array(
        '#type' => 'textfield',
        '#title' => t('Номер двигателя'),
        );
       
        $form['dvtrade_search_oem'] = array(
        '#type' => 'textfield',
        '#title' => t('OEM'),
        );

        $form['dvtrade_search_optic'] = array(
        '#type' => 'textfield',
        '#title' => t('Номер оптики'),
        );
       
        $form['dvtrade_search_o_n'] = array(
    '#type' => 'radios',
    '#options' => array('n'=>t('Новая'),'o'=>t('),'Any'=>t('Любой')),
        );
       
        $form['dvtrade_search_submit'] = array(
        '#type' => 'submit',
        '#value' => t('Поиск'),
        //'#validate' => array ('dvtrade_search_filterit')
        );
       
        theme('dvtrade_search');
       
        //echo views_embed_view('autoparts_view', 'page_1','жидкость в бачок омывателя');
       
        return $form;
}

//ФУНКЦИЯ ОТПРАВКИ ФОРМЫ
function  dvtrade_search_form_submit($form, &$form_state)
{
  drupal_set_message(t('The form has been submitted.'));
  dvtrade_search_filterit();
}

function dvtrade_search_filterit()
{
        $arg=array();
        //специально копипастим ежели понадобятся специфичные условия для конкретного поля
        if ((!empty($_POST['dvtrade_search_name']))&&($_POST['dvtrade_search_name']!='-'))
        $arg[0]=$_POST['dvtrade_search_name'];
        else
        $arg[0]='all';
       
        if ((!empty($_POST['dvtrade_search_firm_name']))&&($_POST['dvtrade_search_firm_name']!='-'))
        $arg[1]=$_POST['dvtrade_search_firm_name'];
        else
        $arg[1]='all';
       
        if ((!empty($_POST['dvtrade_search_model_name']))&&($_POST['dvtrade_search_model_name']!='-'))
        $arg[2]=$_POST['dvtrade_search_model_name'];
        else
        $arg[2]='all';

        if ((!empty($_POST['dvtrade_search_u_d']))&&($_POST['dvtrade_search_u_d']!='-'))
        $arg[3]=$_POST['dvtrade_search_u_d'];
        else
        $arg[3]='all';
       
        if ((!empty($_POST['dvtrade_search_l_r']))&&($_POST['dvtrade_search_l_r']!='-'))
        $arg[4]=$_POST['dvtrade_search_l_r'];
        else
        $arg[4]='all';
       
        if ((!empty($_POST['dvtrade_search_o_n']))&&($_POST['dvtrade_search_o_n']!='-'))
        $arg[5]=$_POST['dvtrade_search_o_n'];
        else
        $arg[5]='all';
       
        if ((!empty($_POST['dvtrade_search_body']))&&($_POST['dvtrade_search_body']!='-'))
        $arg[6]=$_POST['dvtrade_search_body'];
        else
        $arg[6]='all';
       
        if ((!empty($_POST['dvtrade_search_optic']))&&($_POST['dvtrade_search_optic']!='-'))
        $arg[7]=$_POST['dvtrade_search_optic'];
        else
        $arg[7]='all';
       
        if ((!empty($_POST['dvtrade_search_oem']))&&($_POST['dvtrade_search_oem']!='-'))
        $arg[8]=$_POST['dvtrade_search_oem'];
        else
        $arg[8]='all';
       
        if ((!empty($_POST['dvtrade_search_f_r']))&&($_POST['dvtrade_search_f_r']!='-'))
        $arg[9]=$_POST['dvtrade_search_f_r'];
        else
        $arg[9]='all';
       
        if ((!empty($_POST['dvtrade_search_engine']))&&($_POST['dvtrade_search_engine']!='-'))
        $arg[10]=$_POST['dvtrade_search_engine'];
        else
        $arg[10]='all';
       
        //сделать вызов views
       
        $view = views_get_view('autoparts_view');
        print $view->preview('default', $arg);
}

1) пОсле отправки формы мой view почему-то выводится на белой странице без разметки темы.

2) Как отобразить views пока форма еще не отправлена.

3) Где нужно подключать дополнительные css для моей формы таким образом (или другим) drupal_add_css(drupal_get_path('theme','имяТемы').'/style.css');