You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drupal视图全局文本中Twig的date_modify函数失效问题

解决Drupal视图Twig日期修改的DateMalformedStringException错误

问题根源

你的mydate变量并非纯日期字符串,而是混入了主题调试或自定义模板输出的HTML注释内容,导致date_modify过滤器无法正确解析时间格式。

解决方案

1. 先剥离HTML内容再处理日期

用Twig的strip_tags过滤器移除所有HTML标签及注释,提取纯日期字符串后再执行修改:

{{ mydate|strip_tags|date_modify('+7 day')|date('d-m-y h:i:s') }}

注意:原代码日期格式中的h:m:s有误,分钟应使用i而非m(m代表月份),修正后避免格式解析错误。

2. 直接调用字段原始值(更可靠)

不要使用渲染后的日期输出,直接引用字段的原始值:

  • 假设日期字段的机器名为field_event_date,在视图全局文本中可以这样写:
{{ content.field_event_date.0.value|date_modify('+7 day')|date('d-m-y h:i:s') }}

或者在视图字段设置里,将日期字段的输出格式改为「原始值」,再在全局文本中引用该字段的变量(如{{ field_event_date }})进行日期修改。

3. 临时关闭主题调试(排查用)

如果是主题调试注释导致的问题,可临时在settings.php中关闭调试:

$config['system.theme']['debug'] = FALSE;

此方法仅用于排查,建议优先使用前两种方案从根源解决问题,避免依赖调试状态。


内容的提问来源于stack exchange,提问作者Jim D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 06:13:16