@Taiyonoryoshy
php-разработчик

Почему не работает remove button для managed_file drupal 7?

Создал форму с managed_file. Кнопочка remove не работает. При нажатии на нее поле file не появляется и отрендеренная картинка не исчезает. Что делать???

У меня apache 2.4/php 7/myslq 5.

$form['profile']['my_module_custom']['my_module_file'] = array(
      '#type' => 'managed_file',
      '#upload_location' => 'public://',
      '#title' => t('File'),
      '#theme' => 'my_module_medium_upload',
      '#upload_validators' => array(
          'file_validate_extensions' => array('gif bmp png jpg jpeg'),
      ),
      '#attributes' => array(
          'multiple' => 'multiple',
      ),
  );



function theme_my_module_medium_upload($variables) {
  $element = $variables['element'];
  if (isset($element['#file']->uri)) {
    $output = '<div id="edit-logo-ajax-wrapper"><div class="form-item form-type-managed-file form-item-logo"><span class="file">';
    $output .= '<img src="' . file_create_url($element['#file']->uri) . '" />';
    $output .= '</span><input type="submit" id="edit-' . $element['#name'] . '-remove-button" name="' . $element['#name'] . '_remove_button" value="Remove" class="form-submit ajax-processed">';
    $output .= '<input type="hidden" name="' . $element['#name'] . '[fid]" value="' . $element['#file']->fid . '"></div></div>';
    return $output;
  }
}


function my_module_theme() {
  return array(
      'my_module_medium_upload' => array(
          'render element' => 'element',
      )
  );
}
  • Вопрос задан
  • 257 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Taiyonoryoshy Автор вопроса
php-разработчик
дело было в $form['#tree'] = true, когда убрал его все заработало. может кто-то знает почему так??
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы