Điểm:1

Tạo mẫu & biến tùy chỉnh trong mô-đun

lá cờ cn

Tôi đang làm việc với D8 và không thường xuyên thực hiện theo chủ đề, vì vậy tôi đang gặp phải một vấn đề.

Tôi có một tuyến tùy chỉnh trong mô-đun tùy chỉnh gọi phương thức checkinConfirmation() trên bộ điều khiển.

Bên trong bộ điều khiển đó, tôi có cái này:

kiểm tra chức năng công khaiXác nhận () {
  $output['items'] = [
    '#type' => 'bộ trường',
    '#title' => t('Các mục đã đăng ký'),
  ];
  $output['items']['name'] = [
    '#prefix' => '<h2>',
    '#suffix' => '</h2>',
    '#markup' => t('Tên'),
  ];
  $output['#theme'] = 'xác_nhận tuần hoàn';
  $output['#output'] = $output;

  trả lại đầu ra $;
}

và bên trong chủ đề của tôi, tôi có cái này bên trong hook_theme()

hàm công khai mytheme_theme() {
  $theme['circulation_confirmation'] = [
    'mẫu' => 'trang/lưu hành--xác nhận',
    'biến' => [
      'đầu ra' => [],
    ],
  ];
}

Trong mẫu của tôi, tôi có một {{ đầu ra }} biến để in kết quả hiển thị được cung cấp từ $output. Tuy nhiên, vấn đề là tôi không nhận được các mục trong mẫu và tôi không thể hiểu tại sao. Mẫu đang được kéo vào, vì trình bao bọc trong tệp mẫu đang được áp dụng trên trang và vùng chứa chính là chiều rộng của nó.

Thay vào đó, khi sử dụng cái này (trong bộ điều khiển):

trở lại [
  '#theme' => 'xác_nhận_lưu_thông',
  '#output' => $output,
];

Ít nhất thì tôi cũng lấy được dữ liệu, nhưng có vẻ như nó không sử dụng mẫu mà tôi đã cung cấp vì trình bao bọc hiện đã biến mất và vùng chứa chính có chiều rộng đầy đủ thay vì chiều rộng của nó.

Tôi không thường tạo chủ đề hoặc tạo khuôn mẫu và khi tôi làm, nó thường ở dạng nên tôi chỉ có thể chuyển 'phần tử kết xuất' => 'biểu mẫu' để chuyển các mục biểu mẫu sang chủ đề. Tôi không chắc mình đang làm gì sai.

Hãy giúp tôi?

Rainer Feike avatar
lá cờ in
Bạn không nên làm điều này: $output['#output'] = $output; Nhưng hãy thử thêm '#type' => 'markup' vào #markup - mục của bạn
Ex0r avatar
lá cờ cn
Điều đó không thay đổi. Ngoài ra, bộ trường cũng không được kéo vào.
beltouche avatar
lá cờ cn
Bạn có một dấu gạch dưới trong phần trả về['#theme'], nhưng có một dấu gạch ngang kép trong tên mẫu.
Điểm:0
lá cờ in

Bạn có thể thử điều này:

Trong custom_module.module của bạn:

hàm custom_module_theme() {
    trở lại [
        'thông_báo_xác_nhận' => [
            'phần tử kết xuất' => 'đầu ra',
            'biến' => [
                'đầu ra' => [],
            ],
        ],
    ];

Và trong bộ điều khiển của bạn:

kiểm tra chức năng công khaiXác nhận () {
    $rtn = [
        '#theme' => 'xác_nhận_lưu_thông',
        '#đầu ra' => [],
    ];

    $rtn['#output']['items'] = [
        '#type' => 'bộ trường',
        '#title' => t('Các mục đã đăng ký'),
    ];

    $rtn['#output']['items']['name'] = [
        '#prefix' => '<h2>',
        '#suffix' => '</h2>',
        '#markup' => t('Tên'),
    ];

    trả lại $rtn;
}

Đă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.