Рейтинг:0

Как изменить метку поля заголовка изображения в абзаце

флаг um

В абзаце у меня есть поле изображения, для которого поле заголовка включено и обязательно. Мне нужно изменить метку этого поля заголовка, чтобы заменить «Заголовок» на «Подпись».

Я пытался использовать hook_field_widget_single_element_WIDGET_TYPE_form_alter() для достижения этого, но все, что я вижу, связано с этим названием,

$element['subform']['image']['widget'][0]['#title_field'] = (bool) 1
$element['subform']['image']['widget'][0]['#title_field_required'] = (bool) 1

Мне интересно, как я могу изменить этот ярлык в контексте этого абзаца. Любая помощь будет оценена по достоинству.

Рейтинг:1
флаг um

Наконец-то я добился того, что хотел, сделав следующее

моймодуль/моймодуль.модуль

используйте Drupal\Core\Form\FormStateInterface;
используйте Drupal\mymodule\Alter\FieldWidget\BlockImagesParagraph;

/**
 * Реализует hook_field_widget_single_element_WIDGET_TYPE_form_alter().
 */
function mymodule_field_widget_single_element_entity_reference_paragraphs_form_alter(&$element, FormStateInterface $form_state, $context) {
  если ($element['#paragraph_type'] == 'block_images') {
    \Drupal::service('class_resolver')
      ->getInstanceFromDefinition(BlockImagesParagraph::class)
      ->alterFieldWidget($element, $form_state, $context);
  }
}

мой модуль/SRC/изменить/FieldWidget

пространство имен Drupal\mymodule\Alter\FieldWidget;

используйте Drupal\Core\Form\FormStateInterface;

/**
 * Изменить абзац block_images.
 */
конечный класс BlockImagesParagraph {

  /**
   * Изменить виджет поля.
   *
   * @param массив $элемент
   * Элемент формы виджета поля.
   * @param \Drupal\Core\Form\FormStateInterface $form_state
   * Состояние формы.
   * массив @param $контекст
   * Ассоциативный массив, представляющий контекст.
   */
  общедоступная функция alterFieldWidget (массив и $ элемент, FormStateInterface $ form_state, массив $ контекст) {
    $widget = &$element['subform']['image']['widget'];

    foreach ($widget as $key => &$value) {
      если (! is_int ($ ключ)) {
        Продолжить;
      }
      $значение['#процесс'][] = [
        'Drupal\mymodule\Alter\FieldWidget\BlockImagesParagraph',
        'процессИзображение Виджет',
      ];
    }
  }

  /**
   * Обработка виджета изображения.
   *
   * @param массив $элемент
   * Элемент формы виджета поля.
   * @param \Drupal\Core\Form\FormStateInterface $form_state
   * Состояние формы.
   * @param массив $form
   * Ассоциативный массив, представляющий форму.
   */
  общедоступная статическая функция processImageWidget (массив $ элемент, FormStateInterface $ form_state, массив $ форма) {
    если (isset($элемент['название'])) {
      $element['title']['#title'] = t('Caption');
    }

    вернуть $элемент;
  }

}

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.