Drupal - 用于 RSS 时的日期字段语言
Posted
技术标签:
【中文标题】Drupal - 用于 RSS 时的日期字段语言【英文标题】:Drupal - date field language when used for RSS 【发布时间】:2015-09-10 11:02:42 【问题描述】:我对以下情况有疑问。 我设置了一个带有date field 类型“日期(ISO 格式)”的节点。 为了在 RSS 提要中显示这些节点,我从内容和格式 RSS 提要创建了一个视图。此外,我在 Drupal 中通过“r”(RFC 2822)或(D,d M Y H:i:s O)设置了自定义日期格式,并将其用于该字段“field_time”。该字段用作 pubDate。
日期字段创建而不是:
Wed, 01 Jul 2015 00:00:00 +0200
“德语”版本。
Mi, 01 Jul 2015 00:00:00 +0200
如果我对例如“创建”日期执行相同操作,我会得到正确的英文输出。
我已经尝试将该视图的“现场语言”设置为英语。 我还尝试以编程方式更改行 tpl 中的输出(压倒我的 php 知识)。
它与here 非常相似。
也许有人可以提示我更改该字段,在行模板中更改它或类似的东西。 提前致谢!
【问题讨论】:
【参考方案1】:经过一些尝试和错误,我通过字段级别的视图模板重写了我的字段“field_time”的输出。我从该字段中获取原始值,将其“再次”转换为 RFC 2822 格式,并保持为英文。
$rawdate = $row->field_data_field_time_field_time_value;
$unixdate = strtotime($rawdate);
print date('r', $unixdate);
在那之后我对其进行了一些修改,以使提要中的其他节点也只有例如node_created 通过视图 UI 中的“如果为空则重写”。
if (isset($row->field_data_field_time_field_time_value))
$rawdate = $row->field_data_field_time_field_time_value;
$unixdate = strtotime($rawdate);
print date('r', $unixdate);
else
print $output;
我不确定,如果那很干净。仍然欢迎提出建议。
【讨论】:
以上是关于Drupal - 用于 RSS 时的日期字段语言的主要内容,如果未能解决你的问题,请参考以下文章
尝试根据日期条件隐藏 Drupal 视图输出中的 CC 字段