Điểm:0

Sử dụng các biến thể mẫu từ thư mục mô-đun

lá cờ lc

Tôi có giải pháp theo chủ đề thông thường cho một thực thể tùy chỉnh:

function module_theme($current, $type, $theme, $path) {
  trở lại [
    'tập quán' => [
      'kết xuất phần tử' => 'phần tử',
      'mẫu' => 'tập quán',
    ],
  ];
}

function template_pre process_customentity(mảng &$variables) {
  $variables['content'] = [];
  ...
}

function module_theme_suggestions_customentity_alter(mảng &$suggestions, mảng $variables) {
  $sanitized_view_mode = strtr($variables['elements']['#view_mode'], '.', '_');
  $suggestions[] = 'khách hàng__' . $sanitized_view_mode;
}

Vấn đề duy nhất là khi tôi muốn sử dụng một nhánh cụ thể cho chế độ xem, tùy chỉnh--viewmode.html.twig, nó chỉ hoạt động nếu tệp twig nằm trong chủ đề. Nếu nó ở trong mô-đun mẫu thư mục, nó không được chọn (đã kiểm tra cẩn thận tất cả các trường hợp với gỡ lỗi nhánh).

Vì vậy, về vấn đề này, nó hoạt động. Tuy nhiên, tôi cần nhánh trong chính mô-đun vì trong trường hợp này, đó không phải là một câu hỏi theo chủ đề đơn thuần, chế độ xem là một cách hoàn toàn khác về mặt logic và lập trình để trình bày nội dung. Nó dành cho sử dụng nội bộ, không phải là mô-đun đóng góp, vì vậy những kỳ vọng của người dùng bình thường không áp dụng.

Điểm:2
lá cờ in

Bạn phải thêm đường dẫn vào hook chủ đề của mình như sau:

'my_entity__mailteaser' => [
        'kết xuất phần tử' => 'phần tử',
        'móc cơ sở' => 'my_entity',
        'mẫu' => 'thực thể của tôi--mailteaser',
        'path' => drupal_get_path('module', 'asdentbase') . '/mẫu',
      ],
lá cờ lc
Thật không may, nếu tôi làm điều này, nó sẽ không tìm thấy tệp `theme.inc` của tôi nữa vì nó sẽ nằm trong cùng một thư mục. Không có cài đặt đường dẫn riêng cho cả hai...
lá cờ lc
Dù sao, tôi cũng đã thử đặt `theme.inc` ở đó. Không, nó không hoạt động. `đường dẫn` thay đổi nơi hệ thống cố gắng tìm `tệp` được đính kèm nhưng không thay đổi nơi hệ thống tìm mẫu.
4uk4 avatar
lá cờ cn
`móc cơ sở` là giải pháp chính xác. Drupal sau đó có thể xác định vị trí mẫu trong thư mục mẫu của mô-đun, thậm chí không cần chỉ vào nó thông qua `mẫu` hoặc `đường dẫn`. Xem https://drupal.stackexchange.com/questions/298844/use-custom-content-entity-theme-suggestions-in-own-module
lá cờ lc
Không phải tự nó mà chỉ khi tôi thêm một mục chủ đề bổ sung với chế độ xem được dán vào nó, vâng. bạn đúng. Bạn có muốn đưa nó vào một câu trả lời ngắn để tôi chấp nhận không? :-)
4uk4 avatar
lá cờ cn
@ Gábor, xem chủ đề được liên kết. Mã trong câu hỏi + câu trả lời là giải pháp hoàn chỉnh.
lá cờ lc
Vâng, tôi biết, cảm ơn, tôi đã sử dụng nó. Tôi chỉ muốn có thể chấp nhận nó ở đây.

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