У меня есть простой элемент 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']. Мне просто интересно, не является ли пейджер элементом, отображаемым в форме? Может из-за этого не показывает? Типа проиграл на этом. Любые мысли, пожалуйста?
Спасибо