Score:0

hook_theme_suggestions_image_alter() ไม่ส่งคืน ['data-responsive-image-style']

ธง ru

บางทีฉันอาจมีปัญหาที่คล้ายกันนี้ Drupal 9.2 template_preprocess_image hook ไม่ทำงาน.

เมื่อฉันใส่รหัสนี้ใน myTheme.theme

ฟังก์ชัน HOOK_theme_suggestions_image_alter(อาร์เรย์ &$คำแนะนำ, อาร์เรย์ $ตัวแปร)
{
 $responsive_style = $variables['attributes']['data-responsive-image-style'];
 $suggestions[] = 'image__'.$responsive_style;
}

ตะขอนี้ใช้งานได้ดีกับรูปภาพแบบอินไลน์ โมดูลภาพตอบสนองแบบอินไลน์ และมันก็กลับมา ['รูปแบบภาพที่ตอบสนองต่อข้อมูล'].

แต่ใช้ไม่ได้กับรูปภาพบทความปกติ จะส่งกลับ โมฆะ.

เมื่อฉันดีบัก $ตัวแปร['แอตทริบิวต์'] มันมีค่าแค่นี้

$ตัวแปร[...] อาร์เรย์ (1)
  คุณสมบัติ => อาร์เรย์ (1)
    => สตริง (12) "สคีมา:รูปภาพ"
No Sssweat avatar
ua flag
ฉันใช้โมดูลนั้น `รูปแบบรูปภาพที่ตอบสนองต่อข้อมูล' ถูกเพิ่มลงในรูปภาพในโปรแกรมแก้ไขข้อความเท่านั้น ไม่ได้ออกแบบมาให้ทำงานกับฟิลด์รูปภาพ สำหรับฟิลด์รูปภาพ คุณต้องใช้โมดูลรูปภาพที่ตอบสนองของคอร์
apaderno avatar
us flag
@NoSssweat ฟังดูเหมือนคำตอบ
Drazen avatar
ru flag
ฉันรู้ว่าโมดูลรูปภาพที่ตอบสนองแบบอินไลน์ใช้สำหรับโปรแกรมแก้ไขข้อความเท่านั้น แต่ใช้งานได้ดี และส่งคืนข้อมูล $variables['attributes']['data-responsive-image-style'] ที่ถูกต้อง ฉันใช้โมดูลหลักสำหรับรูปภาพที่ตอบสนอง แต่ตัวพิมพ์ใหญ่จะคืนค่า null
Score:0
ธง ru

ฉันพบวิธีแก้ปัญหาแล้ว ฉันเรียกใช้จากพาเรนต์ twig responsive_image_style_id

ฟังก์ชัน hook_preprocess(&$ตัวแปร, $hook) {
  ถ้า ($hook == 'responsive_image') {
    $GLOBALS['responsive_image_style_id'] = $variables['responsive_image_style_id'];
  }
}

ฟังก์ชัน hook_theme_suggestions_alter (อาร์เรย์ &$ คำแนะนำ, อาร์เรย์ $ตัวแปร, $hook) {
  ถ้า ($ hook == 'รูปภาพ') {
    กลับ $suggestions[] = 'image__'.$GLOBALS['responsive_image_style_id'];
  }
}

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา