Am un element simplu tableselect în formularul meu, iar rândurile tableselect sunt populate folosind un pager, după cum urmează:
$pagerLimit = 10; //valoare implicită dacă nu se transmite nimic
$interogare = $this->jobSkillStorage->getQuery();
$query->condition('tip', $skillType);
$query->pager($pagerLimit)
$ids = $query->execute();
$jobSkills = $this->jobSkillStorage->loadMultiple($ids);
returnează $jobSkills;
Limita de paginare funcționează bine și sunt returnate doar 10 rezultate, totuși controalele de paginare nu apar după selectarea tabelului. Vă rugăm să vedeți codul complet al modului în care a fost generat tableselect.
funcția publică buildForm(array $form, FormStateInterface $form_state) {
$form['vtabs'] = [
'#type' => 'file_verticale',
];
$form['tech_skills' = [
'#type' => 'detalii',
'#title' => $this->t('Abilități tehnice'),
'#group' => 'vtabs',
'tech_skills_table' => [
'#type' => 'tableselect',
'#empty' => $this->t('Căutarea dvs. de abilități tehnice nu a revenit '
. „orice rezultate.”),
'#header' => [
'name' => $this->t('NUMELE ABILITĂRII'),
'description' => $this->t('DESCRIPTION'),
'status' => $this->t('STATUS'),
'schimbat' => $this->t('ULTIMA ACTUALIZARE'),
'actions' => $this->t('ACTIONS')
],
'#options' => $this->getTableOptions(),
],
'tech_skills_pager' => [
'#theme' => 'paginator',
],
];
returnează $form;
Cele mai multe exemple de paginare pe care le văd folosesc $build['pager'] mai degrabă decât $form['pager']. Mă întreb doar dacă paginatorul nu este un element care poate fi redat în formă? Ar putea fi acesta motivul pentru care nu apare? Cam pierdut în asta. Ceva ganduri va rog?
Mulțumiri