Score:1

เพิ่มวัตถุกำหนดค่าอย่างง่ายเป็นการพึ่งพาที่แคชได้หรือไม่

ธง in

ฉันกำลังสร้างเบรดครัมบ์แบบกำหนดเองที่มีการตั้งค่าผู้ดูแลระบบบางอย่างจากโมดูลใน Drupal 9 เมื่อฟอร์มการตั้งค่านั้นถูกบันทึก ฉันต้องการให้แคชเบรดครัมบ์ที่สร้างด้วยตัวสร้างนี้ใช้งานไม่ได้

ฉันพยายามส่งวัตถุกำหนดค่าของฉันไปยังตัวสร้างดังนี้:

$breadcrumb->addCacheableDependency($this->config);

เมื่อฉันบันทึกแบบฟอร์มเท่านั้น การแสดงเส้นทางจะให้บริการเวอร์ชันแคชจนกว่าฉันจะล้างข้อมูล จากนั้นจะแสดงเกล็ดขนมปังที่ถูกต้อง ตัวสร้างของฉันมี:

  ฟังก์ชั่นสาธารณะ __construct (
    AdminContext $admin_context,
    อินเทอร์เฟซ AliasManager $alias_manager,
    EntityTypeManagerInterface $entity_type_manager,
    ConfigFactoryInterface $config_factory
  ) {
    $this->adminContext = $admin_context;
    $this->aliasManager = $alias_manager;
    $this->entityTypeManager = $entity_type_manager;
    $this->config = $config_factory->get('mymodule.settings');
  }
Score:0
ธง cn

เพื่อตอบคำถาม ใช่ นี่เป็นวิธีที่ถูกต้อง

คุณสามารถตรวจสอบว่าแท็กแคช การกำหนดค่า:* ถูกส่งไปยังตัวแปรบล็อก:

ฟังก์ชัน mymodule_preprocess_block__system_breadcrumb_block(&$ตัวแปร) {
  var_dump($variables['content']['#cache']);
}

จากนั้นอาจเป็นปัญหากับเทมเพลตที่ไม่แสดงเนื้อหาทั้งหมดของ เนื้อหา ตัวแปร.

โพสต์คำตอบ

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