Рейтинг:0

Элемент пейджера не отображается в форме

флаг in

У меня есть простой элемент tableselect внутри моей формы, и строки tableselect заполняются с помощью пейджера следующим образом:

$pagerLimit = 10; //значение по умолчанию, если ничего не передается
$query = $this->jobSkillStorage->getQuery();
$запрос->условие('тип', $skillType);   
$query->пейджер($pagerLimit)
$ids = $запрос->выполнить();
$jobSkills = $this->jobSkillStorage->loadMultiple($ids);  

вернуть $jobSkills;

Ограничение на разбиение на страницы работает хорошо, и возвращается только 10 результатов, однако элементы управления разбиением на страницы не отображаются после выбора таблицы. Пожалуйста, ознакомьтесь с полным кодом того, как был сгенерирован tableselect.

общедоступная функция buildForm (массив $ form, FormStateInterface $ form_state) {

  $ форма ['vtabs'] = [
    '#type' => 'vertical_tabs',
  ];

  $form['tech_skills' = [
    '#type' => 'детали',
    '#title' => $this->t('Технические навыки'),
    '#group' => 'vtabs',
    'tech_skills_table' => [
      '#тип' => 'выбор таблицы',
      '#empty' => $this->t('Ваш поиск технических навыков не дал результатов '
          . 'любые результаты.'),  
      '#заголовок' => [
        'name' => $this->t('ИМЯ НАВЫКА'),
        'описание' => $this->t('ОПИСАНИЕ'),
        'статус' => $this->t('СТАТУС'),
        'изменено' => $this->t('ПОСЛЕДНЕЕ ОБНОВЛЕНИЕ'),
        'действия' => $this->t('ДЕЙСТВИЯ')  
      ],
      '#options' => $this->getTableOptions(),          
    ],
    'tech_skills_pager' => [
      '#theme' => 'пейджер',     
    ],         
  ];

  вернуть $ форму;

Большинство примеров пейджинга, которые я вижу, используют $build['pager'] вместо $form['pager']. Мне просто интересно, не является ли пейджер элементом, отображаемым в форме? Может из-за этого не показывает? Типа проиграл на этом. Любые мысли, пожалуйста?

Спасибо

Kevin avatar
флаг in
Код выше имеет проблемы с синтаксисом.
ilechcod avatar
флаг in
Пожалуйста, в какой именно момент?
Рейтинг:0
флаг de

Я считаю, что вам нужно использовать #тема скорее, чем #тип. #тип для элементов формы, #тема предназначен для тематических элементов, которые находятся вне (а иногда и внутри) форм.

В качестве другого примера, Таблица это #тема, тогда как выбор таблицы, представляющая собой таблицу с элементами формы, представляет собой #тип.

ilechcod avatar
флаг in
Эй, Джейпан, это хорошо. Спасибо за быстрый ответ. Я только что изменил ```'type' => 'pager'``` на ```'theme' => 'pager' ```, и пейджер все еще не отображается, и мне нужен выбор таблицы, потому что мне нужно выбираемые строки. Нет ли способа использовать пейджер с элементом tableselect?
Jaypan avatar
флаг de
Вы использовали хэштег? `#theme`, а не `theme`
ilechcod avatar
флаг in
Да, я сделал ```'#theme' => 'пейджер'```. Я собираюсь обновить вопрос с моим текущим кодом в ближайшее время. Очень разозлился, я не могу заставить что-то настолько просто работать!
Jaypan avatar
флаг de
Возможно, переместите пейджер в массив рендеринга вне формы.
ilechcod avatar
флаг in
I'm still struggling to get this to work, folks. This should be stuff that works out of the box, what am I doing wrong? Pls has anybody else been able to use a pager with a tableselect?
Jaypan avatar
флаг de
Вы пытались переместить массив рендеринга пейджера из формы?

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

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