Điểm:0

Phần tử máy nhắn tin không hiển thị trên biểu mẫu

lá cờ in

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

Kevin avatar
lá cờ in
Đoạn mã trên có vấn đề về cú pháp.
ilechcod avatar
lá cờ in
Xin vui lòng chính xác vào thời điểm nào?
Điểm:0
lá cờ de

Tôi tin rằng bạn cần phải sử dụng #chủ đề còn hơn là #loại. #loại là dành cho các yếu tố hình thức, #chủ đề dành cho các thành phần có thể thay đổi chủ đề, là các dạng bên ngoài (và đôi khi cả bên trong).

Như một ví dụ khác, cái bàn là một #chủ đề, nhưng trái lại bảng chọn, là một bảng có các phần tử biểu mẫu, là một #loại.

ilechcod avatar
lá cờ in
Này Jaypan, đó là một điều tốt. Cảm ơn cho câu trả lời nhanh chóng. Tôi vừa thay đổi ```'type' => 'pager'``` thành ```'theme' => 'pager' ``` và máy nhắn tin vẫn không hiển thị và tôi cần một bảng chọn vì tôi cần hàng có thể lựa chọn. Không có cách nào để sử dụng máy nhắn tin với phần tử tableselect?
Jaypan avatar
lá cờ de
Bạn đã sử dụng thẻ bắt đầu bằng # chưa? `#theme` không phải `theme`
ilechcod avatar
lá cờ in
Có, tôi đã làm ```'#theme' => 'máy nhắn tin'```. Tôi sẽ sớm cập nhật câu hỏi với mã hiện tại của mình. Thực sự bực mình tôi không thể có được một cái gì đó đơn giản như vậy để làm việc!
Jaypan avatar
lá cờ de
Có thể di chuyển máy nhắn tin vào một mảng kết xuất bên ngoài biểu mẫu.
ilechcod avatar
lá cờ 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
lá cờ de
Bạn đã thử di chuyển mảng kết xuất máy nhắn tin ra khỏi biểu mẫu chưa?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.