Score:2

วิธีรับข้อความคำอธิบายจากฟิลด์เมตาแท็ก

ธง jp

ประเภทเนื้อหาในอินสแตนซ์ Drupal 9 ของฉันใช้โมดูล Metatag ฉันต้องการแยกค่าเมตาแท็ก 'description' และรวมไว้ในเทมเพลต twig (สำหรับโหนด)

แต่เมื่อฉันดูตัวแปรที่มีอยู่ ดูเหมือนว่า field_metatag มี PHP ทำให้เป็นอันดับ ()-ed รหัส

อยากทำบ้างเช่น

<div class="the-description">
  {{ node.field_metatag.description|e('html') }}
</div>
Score:3
ธง ne

คุณสามารถรับข้อมูลซีเรียลไลซ์ได้ทาง node.field_metatag.value.

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

ฉันพบว่าพรีโพรเซสต่อไปนี้ใช้งานได้

/**
 * ใช้ template_preprocess_node()
 */
ฟังก์ชัน MYTHEME_preprocess_node(&$ตัวแปร) {
  $node = $variables['โหนด'];

  $tags = \Drupal::service('metatag.manager')
    ->tagsFromEntityWithDefaults($node);

  ถ้า (!empty($tags['description'])) {

    $description = \Drupal::service('metatag.token')
      ->replace($tags['description'], ['node' => $node]);

    $variables['my_description'] = strip_tags($คำอธิบาย);
  }
}
{% ถ้า my_description %}
  {{ my_description }}
{% เอนดิฟ %}

ซอส: https://imalabya.co/fetch-metatags-programmatically-drupal

โพสต์คำตอบ

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