Рейтинг: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.

Рейтинг:2
флаг cn

Это метод сущностей контента, реализующих EntityChangedInterface, например, узел и block_content. В шаблоне блока, который является шаблоном сконфигурированного блока, вы найдете его в массиве содержимого:

если (isset($variables['elements']['content']['#block_content'])) {
  $changed_time = $variables['elements']['content']['#block_content']->getChangedTime();
}

Если вы хотите загрузить объект содержимого блока вне шаблона блока, см. Как получить значение поля пользовательского блока?

Рейтинг:1
флаг de

$блок->обновлено должен сделать трюк.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.