Как получить выбранные значения в пользовательском виджете в drupal 7 - PullRequest
0 голосов
/ 27 февраля 2020

enter image description hereenter image description here Я пытаюсь получить выбранные изображения. Я могу сохранить эти изображения в базе данных после нажатия кнопки сохранения, когда я go вернусь к страницу, нажав на кнопку редактирования, изображения, которые я выбрал, не отображаются. Я не знаю, где я делаю неправильно.

Я также приложил снимок экрана для вашей справки. 1- Первый снимок экрана, когда я выбрал изображения, которые появляются на выбранных изображениях. 2-й, когда я вернулся на страницу, он не отображается на выбранных изображениях.

Вот мой код:

  function nd_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) {

 $value_key = key($field['columns']);

 $type = str_replace('options_', '', $instance['widget']['type']);

 $multiple = $field['cardinality'];
 $required = $element['#required'];
 $has_value = isset($items[0][$value_key]);
$properties = _options_properties($type, $multiple, $required, $has_value);


$options = _options_get_options($field, $instance, $properties, NULL, NULL);

 $options = array_map("strip_tags", $options);
  $default_value = _options_storage_to_form($items, $options, $value_key, $properties);

  foreach ($items as $item) {
if (isset($options[$item[$value_key]])) {
  $val = $options[$item[$value_key]];
  $options[$item[$value_key]] = $val;
     }
  }
     $options = _network_drives_arrays();

   $element = array(
'#type' => 'select',
'#title' => $element['#title'],
 enter image description here'#description' => $element['#description'],
'#required' => $required,[![enter image description here][1]][1]
'#multiple' => $multiple,
'#options' => $options,
 '#size' => 10,
 '#default_value' => $default_value,
  '#value_key' => $value_key,
  '#element_validate' => array('options_field_widget_validate'),
  '#properties' => $properties,
    );
    $module_path = drupal_get_path('module', 'nd');

  $element['#attached'] = array(
'css' => array($module_path . '/image-picker.css'),
'js' => array($module_path . '/image-picker.js', $module_path . '/nd.js'),
  );
 return $element;
}

Где я делаю неправильно? Ваша помощь будет высоко оценена?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...