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

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

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

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

Пример

  1. function mymodule_pane_edit_form($form, &$form_state) {
  2.  
  3. $form['#attributes']['enctype'] = array("multipart/form-data");
  4.  
  5.  
  6. form_load_include($form_state, 'inc', 'my_module','plugins/content_types/my_file');
  7. $conf = $form_state['conf'];
  8.  
  9. $form['pane_image'] = array(
  10. '#title' => t('Image'),
  11. '#type' => 'managed_file',
  12. '#description' => t('Upload an Image that is associated with this content.'),
  13. '#default_value' => '',
  14. //'#default_value' => !empty($conf['pane_image']) ? variable_get($conf['pane_image']) : '',
  15. '#upload_location' => 'public://panes/',
  16. '#upload_validators' => array(
  17. 'file_validate_extensions' => array('gif png jpeg jpg')
  18. ),
  19. '#array_parents' => array('pane_image')
  20. );
  21.  
  22. return $form;
  23. }
Russian
Категория: 
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.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Target Image