Ajax форма работает как обычная во вьюсе

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

Аватар пользователя coffein89 coffein89 14 ноября 2013 в 17:53
function mymodule_form($form, &$form_state) {
    ....................  
    $form['submit'] = array(
        '#type' => 'submit',
        '#value' => t('Send'),
        '#ajax' => array('callback' => 'mymodule_form_ajax_callback'),
    );
    return $form;
}

function mymodule_form_submit($form, &$form_state) {
    $email = variable_get('anfrage_email');
    drupal_mail('system', 'mail', $email, language_default(), array(
        'context' => array(        
               
           ..................          
        )
    ));
    drupal_set_message(t('Form submitted.'));
}
function mymodule_form_ajax_callback($form, &$form_state){
            return array(
            '#type' => 'ajax',
            '#commands' => array(
             ajax_command_html('#message', theme('status_messages')),
    ),
  );
}

написал форму которая должна отрабатываться ajax.
$form = drupal_get_form('mymodule_form');
print drupal_render($form);

вот так я ее вывожу.
если вывожу в ноде или шаблоне views-view--page.tpl все нормально, но если вывожу в шаблоне views-view-fields--page.tpl форма отрабатывается как обычная без ajax.
форм с одним id нетю
как мне вывести форму именно в шаблоне полей? может не успевает подключиться какой-то скрипт
?

Комментарии

Аватар пользователя sas@drupal.org sas@drupal.org 15 ноября 2013 в 9:57

Да Ваша догадка верна, чтобы подключились js скрипты форму надо подключать выше чем tpl, хотя бы на hook_preprocess а то и на hook_alter