Рейтинг:0

Использование Radio FormElement в drupal 8 ListBuilder

флаг ke

я сделал объект пользовательской конфигурации, и я пытаюсь настроить переключатели в listBuilder. Это делается на языке основного модуля. без каких-либо проблем, но когда я пытаюсь проделать тот же трюк с моей пользовательской сущностью, я не могу получить ни одного переключателя. Вместо этого атрибуты отображаются в элементе html.

    общедоступная функция buildRow (EntityInterface $entity) {
      $row['label'] = $entity->label();
      $строка['по умолчанию'] = [
        '#type' => 'радио',
        '#parents' => ['site_default_language'],
        '#title' => t('Установить @title по умолчанию', ['@title' => $entity->label()]),
        '#title_display' => 'невидимый',
        '#return_value' => $entity->id(),
        '#id' => 'изменить-язык-сайта-по-умолчанию-' . $сущность->идентификатор(),
      ];
      // Отметить правильный язык как язык по умолчанию в форме.
      если ($entity->id() == $this->languageManager->getDefaultLanguage()->getId()) {
        $row['default']['#default_value'] = $entity->id();
      }
      вернуть $row + parent::buildRow($entity);
    }

Тогда я получаю этот элемент html в результате без каких-либо ошибок в журналах:

<td #type="radio" #parents="active_scsp_server" 
#title="..." #title_display="invisible" 
#return_value="pre" #id="edit-active-scsp-server-pre" #default_value="pre">
</td>
hoanns avatar
флаг fr
Вы также расширяете DraggableListBuilder? Эта штука на самом деле является замаскированной формой.
David Lemon avatar
флаг ke
Да, я расширяю DraggableListBuilder, имитируя большую часть LanguageListBuilder. Но проблема в том, что я не получаю никакой формы... Я уже пытался переустановить сущность, очистить кеш и т.д...
leymannx avatar
флаг ne
Может быть, попробуйте `$row['default'][$entity->id()] = [...]`. И разве `#default_value` не может быть просто `TRUE`, `FALSE` или `NULL`? Может это удостоверение личности?
Рейтинг:2
флаг ke

Чтобы DraggableListBuilder работал, сущность должна иметь вес ключ определен. В противном случае он молча выйдет из строя.

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

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