Điểm:0

html--người dùng--wildcard-id--module.html.twig

lá cờ cn

Cách di chuyển các trường văn bản đa dạng thức từ bên ngoài Drupal mà không cần chuyển đổi thẻ html thành thực thể Tôi có một trang tại đường dẫn /người dùng/{id}/mô-đun

và tôi đang cố gắng để Drupal tải một mẫu tùy chỉnh từ mô-đun của mình khi trang này được truy cập. Đầu ra gỡ lỗi twig hiển thị các đề xuất cho tên mẫu như bên dưới, nhưng có vẻ như nó không chọn mẫu ngay cả sau khi tạo lại bộ đệm. Trang cần hiển thị cho tất cả người dùng nên không thể ghim nó vào một id cụ thể, nhưng html--người dùng--module.html.twig

<!-- FILE NAME SUGGESTIONS:
   * html--user--module.html.twig
   * html--user--123456.html.twig
   * html--user--%.html.twig
   * html--user.html.twig
   x html.html.twig
-->

không được tôn trọng. Có một số cú pháp tôi không thể tìm thấy như ?

sonfd avatar
lá cờ in
Bạn phải làm những thứ đặc biệt để Drupal tìm trong thư mục mô-đun của bạn để ghi đè mẫu. Theo mặc định, nó chỉ tìm đến chủ đề đang hoạt động.
leymannx avatar
lá cờ ne
Điều này có trả lời câu hỏi của bạn không? [Ghi đè mẫu chủ đề từ mô-đun mà không triển khai chủ đề](https://drupal.stackexchange.com/questions/200602/override-theme-template-from-module-without-implementing-a-theme)
lá cờ cn
@leymannx cảm ơn vì điều đó. Đó là cùng một giải pháp nhưng cách khác để gặp sự cố, tôi có cả chủ đề và mô-đun tùy chỉnh. Tôi đã bình chọn cho câu trả lời của Sam cho câu hỏi này nhưng không có người đại diện nào đánh dấu câu trả lời đó được chấp nhận.
Điểm:0
lá cờ es
Sam

Sử dụng mẫu từ một mô-đun

Bạn phải chỉ định mẫu trong hook_theme() với móc cơ sở chính xác.

Đây là ví dụ cho móc 'nút':

function MY_MODULE_theme($current, $type, $theme, $path) {
  trở lại [
    'node__custom-type__full' => [
      'mẫu' => 'nút--loại tùy chỉnh--đầy đủ',
      'móc cơ sở' => 'nút',
      'path' => drupal_get_path('module', 'MY_MODULE') . '/templates/content', // nếu tùy chỉnh
    ],
  ];
}

Giải pháp khác: tạo đề xuất mới

Bạn có thể làm điều này trong theme_suggestions_alter()

Kiểm tra theme_suggest_alter

Đây là một ví dụ, đây là một giải pháp để tạo đề xuất mẫu cho biểu mẫu có biểu mẫu id :

function MY_THEME_theme_suggestions_alter($current, $type, $theme, $path) {
  if ($hook === 'form' && !empty($variables['element']['#id'])) {
    $suggestions[] = 'form__' . str_replace('-', '_', $variables['element']['#id']);
  }
}

(Tạo cho tôi biểu mẫu--user-login-form.html.twig)

Trong trường hợp của bạn, thay thế móc $ qua html và thêm id người dùng

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