Tôi có một phần tử tableselect đơn giản bên trong biểu mẫu của mình và các hàng của tableselect được điền bằng máy nhắn tin như sau:
$pagerLimit = 10; // giá trị mặc định nếu không có gì được truyền vào
$query = $this->jobSkillStorage->getQuery();
$query->condition('type', $skillType);
$query->pager($pagerLimit)
$ids = $query->execute();
$jobSkills = $this->jobSkillStorage->loadMultiple($ids);
trả lại $jobSkills;
Giới hạn phân trang hoạt động tốt và chỉ có 10 kết quả được trả về, tuy nhiên, các điều khiển phân trang không hiển thị sau khi chọn bảng. Vui lòng xem mã đầy đủ về cách bảng chọn được tạo.
chức năng công khai buildForm(mảng $form, FormStateInterface $form_state) {
$form['vtabs'] = [
'#type' => 'vertical_tabs',
];
$form['tech_skills' = [
'#type' => 'chi tiết',
'#title' => $this->t('Kỹ năng Công nghệ'),
'#group' => 'vtabs',
'tech_skills_table' => [
'#type' => 'bảng chọn',
'#empty' => $this->t('Tìm kiếm kỹ năng công nghệ của bạn không trả về '
. 'bất kỳ kết quả nào.'),
'#header' => [
'tên' => $this->t('TÊN KỸ NĂNG'),
'mô tả' => $this->t('MÔ TẢ'),
'trạng thái' => $this->t('TRẠNG THÁI'),
'đã thay đổi' => $this->t('CẬP NHẬT CUỐI CÙNG'),
'hành động' => $this->t('ACTIONS')
],
'#options' => $this->getTableOptions(),
],
'tech_skills_pager' => [
'#theme' => 'máy nhắn tin',
],
];
trả về biểu mẫu $;
Hầu hết các ví dụ về phân trang mà tôi thấy sử dụng $build['pager'] thay vì $form['pager']. Tôi chỉ tự hỏi nếu máy nhắn tin không phải là một phần tử có thể hiển thị biểu mẫu? Đó có thể là lý do nó không hiển thị? Kinda bị mất về điều này. Bất kỳ suy nghĩ xin vui lòng?
Cảm ơn