Score:2

Get the time a custom block was last edited

ธง in
3x5

I have seen lots of answers for getting when a node was last edited, but I can't seem to apply any of these methods to blocks. Basically, I have a block that I only want to display if it has been updated in the last week. When I view blocks in the admin, I see that the admin view shows you when a block was last edited.

I can get my block in hook_preprocess_block, and get things like $block->label(), but any variation of $block->getChangedTime(); or $block->changed; fails for me.

And really, I need this value in my html template, not the block. So I need to get the specific block by ID, in hook_preprocess_html, get the time it was last updated as a unix timestamp, and this would give me the value I need for my twig template.

Score:2
ธง cn

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

ถ้า (isset($variables['elements']['content']['#block_content'])) {
  $change_time = $variables['elements']['content']['#block_content']->getChangedTime();
}

หากคุณต้องการโหลดเอนทิตีเนื้อหาบล็อกนอกเทมเพลตบล็อก โปรดดู วิธีรับค่าฟิลด์ของบล็อกที่กำหนดเอง

Score:1
ธง de

$block->อัปเดต ควรทำเคล็ดลับ

โพสต์คำตอบ

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