Điểm:0

hook_theme_suggestions_image_alter() không trả về ['data-responsive-image-style']

lá cờ ru

Có lẽ tôi có vấn đề tương tự như thế này Drupal 9.2 móc template_pre process_image không hoạt động.

Khi tôi đặt mã này vào myTheme.theme

hàm HOOK_theme_suggestions_image_alter(mảng &$suggestions, mảng $variables)
{
 $responsive_style = $variables['attributes']['data-responsive-image-style'];
 $suggestions[] = 'image__'.$responsive_style;
}

Móc hoạt động tốt trên hình ảnh nội tuyến với cái này mô-đun Hình ảnh phản hồi nội tuyến và nó trở lại ['data-responsive-image-style'].

Nhưng nó không hoạt động với hình ảnh bài báo thông thường, nó trả về vô giá trị.

Khi tôi gỡ lỗi $variables['attributes'] nó chỉ có giá trị này

mảng $variables[...] (1)
  thuộc tính => mảng (1)
    => chuỗi (12) "lược đồ:hình ảnh"
No Sssweat avatar
lá cờ ua
Tôi sử dụng mô-đun đó. `data-responsive-image-style` chỉ được thêm vào hình ảnh của trình soạn thảo văn bản, nó không được thiết kế để hoạt động với các trường hình ảnh. Đối với các trường hình ảnh, bạn cần sử dụng mô-đun hình ảnh phản hồi của lõi.
apaderno avatar
lá cờ us
@NoSssweat Nghe giống như một câu trả lời.
Drazen avatar
lá cờ ru
Tôi biết rằng mô-đun hình ảnh phản hồi nội tuyến chỉ được sử dụng cho trình soạn thảo văn bản nhưng nó hoạt động tốt. và trả lại dữ liệu chính xác $variables['attributes']['data-responsive-image-style']. Tôi đang sử dụng mô-đun lõi cho hình ảnh phản hồi nhưng trong trường hợp viết hoa, nó trả về giá trị rỗng.
Điểm:0
lá cờ ru

Tôi đã tìm thấy giải pháp. Tôi đã gọi từ nhánh cha responsive_image_style_id

function hook_pre process(&$variables, $hook) {
  if ($hook == 'responsive_image') {
    $GLOBALS['responsive_image_style_id'] = $variables['responsive_image_style_id'];
  }
}

function hook_theme_suggestions_alter(mảng &$suggestions, mảng $variables, $hook) {
  nếu ($hook == 'hình ảnh') {
    return $suggestions[] = 'image__'.$GLOBALS['responsive_image_style_id'];
  }
}

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