Добавляем аякс форму в Panel pane

Для добавления аякс форм нужно помнить одно правило

form_load_include($form_state, 'inc', 'my_module','plugins/content_types/my_file');

CTools панели создаются в отдельном вызове в стороне от базовых Drupal форм и поэтому, когда AJAX загружает форму он не может найти оригинальную функцию формы.Данной фунцией мы заставлем Drupal включить полный код функции каждый раз, когда он обрабатывается вызовом , и следовательно AJAX может найти необходимую функцию для восстановления формы.

Пример
function mymodule_pane_edit_form($form, &$form_state) {

$form['#attributes']['enctype'] = array("multipart/form-data");

form_load_include($form_state, 'inc', 'my_module','plugins/content_types/my_file');
$conf = $form_state['conf'];

$form['pane_image'] = array(
'#title' => t('Image'),
'#type' => 'managed_file',
'#description' => t('Upload an Image that is associated with this content.'),
'#default_value' => '',
//'#default_value' => !empty($conf['pane_image']) ? variable_get($conf['pane_image']) : '',
'#upload_location' => 'public://panes/',
'#upload_validators' => array(
'file_validate_extensions' => array('gif png jpeg jpg')
),
'#array_parents' => array('pane_image')
);

return $form;
}

Категория: 
The code has been tested and works
Мультитег: 

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.