Drupal 8.
请帮助找到最佳解决方案。
我有节点应该显示创建日期。 如果今天创建的节点文本应该是 - “今天” 如果昨天 - “昨天”。 在其他情况下,应仅显示创建日期 - 22/02/1999。
我创建了自定义字段格式化程序来实现这一点。 一切正常,除了一件事 - 缓存。
drupal 缓存今天创建的节点,明天应该显示“昨天”。但是明天它仍然会显示“今天”,直到我手动清除缓存。缓存清除后,它会说“昨天”,就像它应该的一样。
请帮我解决这个问题。 我会很高兴避免使用
'#cache' => [
'max-age' => 0,
]
答案 0 :(得分:2)
在我看来,您的问题的最佳解决方案是将 '#cache' => ['max-age' => 0]
用于您的自定义字段格式化程序,因为每次节点命中时只需重新渲染该字段。这对节点页面的性能影响不大。
但是如果你一定要避免使用缓存 max-age,你可以试试下面的方法:
'node: <nid>'
无效。