Как добавить заголовок с порядковым номером в inline entity form?

Главные вкладки

Аватар пользователя nathan158 nathan158 25 мая 2023 в 2:37

У меня есть форма редактирования кастомной enitity , которая передается контроллеру:

<?php
$form 
$this->entityFormBuilder()->getForm($entity_quote'edit');
?>

Эта кастомная entity имеет поле reference на другую кастомную entity quote_design. Виджет для этого поля - Inline entity form - Complex.
Я написал этот код для отображения слова «Design» над каждой inline формой:

<?php
/**
 * Implements hook_inline_entity_form_entity_form_alter().
 */
function entity_quotes_inline_entity_form_entity_form_alter(&$entity_formFormStateInterface $form_state) {

  

$form_bundles = [
    
'quote_design',
  ];

 if (

$entity_form['#bundle'] == 'quote_design') {
   
$entity_form['dummy_design_header_title'] = [
     
'#type' => 'html_tag',
     
'#tag' => 'h3',
     
'#value' => 'Design',
     
'#attributes' => [
       
'class' => ['dummy'],
     ],
   ];
 }

}

?>

И теперь я вижу слово Design над каждой Inline формой:

Но мне нужно отобразить порядковый номер этого дизайна рядом со словом Design:

Как это реализовать?

Я пробовал так:

<?php
$created_designs 
$form_state->getFormObject()->getEntity()->get('field_design')->getValue();

foreach (

$created_designs as $key => $value) {
  
$entity_form['dummy_design_header_title_' $key] = [
    
'#type' => 'html_tag',
    
'#weight' => -100,
    
'#tag' => 'h3',
    
'#value' => 'Design ' . ($key 1),
    
'#attributes' => [
      
'class' => ['dummy'],
    ],
  ];
}

?>

Но тут я получаю первую проблему:

А также я получаю вторую проблему:

Когда я получаю inline формы таким образом:

<?php
$form_state
->getFormObject()->getEntity()->get('field_design')->getValue();
?>

Я получаю только сохраненные inline формы, но новых inline форм, добавленных с помощью кнопки «Add Another Design», там нет. Мне нужно отобразить заголовок с порядковым номером как для сохраненных, так и для новых, еще не сохраненных.