การเพิ่มบริบทแคชในการตอบกลับนั้นไม่ใช่แบบสากล มันค่อนข้างตรงกันข้ามเฉพาะในกรณีที่คุณใส่บริบทแคชในองค์ประกอบการเรนเดอร์เดียวกันซึ่งขึ้นอยู่กับบริบทนี้ จะสามารถรวมเข้ากับระดับการแคชทั้งหมดที่ได้รับผลกระทบ ในตัวอย่างนี้ บริบทของย่อหน้าจะถูกรวมเข้ากับโหนดพาเรนต์และจากนั้นกับเพจ ย่อหน้าและโหนดอาจอยู่ในบล็อกหรือมุมมองก็ได้ องค์ประกอบทั้งหมดเหล่านี้ต้องการบริบทแคชนั้น
การเพิ่มบริบทแคชในเบ็ดการประมวลผลล่วงหน้าเป็นทางเลือกสุดท้ายในกระบวนการแสดงเทมเพลต มีโค้ดพิเศษใน Drupal ที่ตรวจสอบค่าตัวแปรบนสุดของ $variables ของ preprocess hook และรวมข้อมูลเมตาแคชเข้ากับเทมเพลต
อย่างไรก็ตาม แนวคิดเบื้องหลังเมทาดาทาของแคชคือการเพิ่มโดยตรงไปยังอาร์เรย์บิลด์เมื่อสร้างเนื้อหาในโค้ด เพื่อให้สามารถสร้างฟองได้ถึงเทมเพลตทั้งหมดที่เกี่ยวข้อง วิธีนี้ใช้ได้ผลเมื่อทำการ refactoring รหัสเป็นฟังก์ชันที่ใช้ในที่ต่างๆ ตัวอย่างเช่น ฟังก์ชัน Twig:
$สร้าง = [];
// สร้างเนื้อหา
$build['#cache']['contexts'][] = 'mobile_detect_is_mobile';
// ส่งคืนอาร์เรย์บิลด์ที่จะแสดงผลใน {{ }}
ส่งคืน $build;
// หรือถ้าฟังก์ชัน Twig ของคุณไม่ส่งคืน $build bubble up อย่างน้อยเมทาดาทา
// โดยแสดงผลภายในฟังก์ชัน Twig
\Drupal::service('renderer')->render($build);