基于 Henrik 的评论,在我看来,主题化似乎是做到这一点的最佳场所。您需要在 template.php 文件中添加一个函数来覆盖该特定视图。请参阅Views 1 主题文档。根据此文档,您可以使用表单视图的名称创建一个函数
function THEMENAME_view_view_VIEWNAME($view, $type, $nodes, $level = NULL, $args = NULL)
主题化整个视图。$nodes
是包含在视图中的部分加载的节点对象数组。您可以加载每个节点并检查 Event_StartTime 字段的值,如下所示:
foreach ($nodes as $id => $node) {
$temp_node = node_load($node->nid);
//now check value of Event_StartTime assuming that is what you named the field
if ($temp_node->Event_StartTime === 'Dec 31 1969 - 8:00pm') {
$temp_node->Event_StartTime = 'No Date Available';
}
//output the fields of your view . . .
}
我只展示了如何检查Event\_StartTime
字段的值,我不确定实际值是多少。1969 年 12 月 31 日早于函数返回的日期time()
,因此如果这不起作用,您可能需要检查 if Event_StartTime === ''
,如果事件字段为空,则可能为真。您仍然需要为其余字段设置主题并将它们作为 HTML 输出,这可能只是为了更改一个字段的输出而太痛苦了。您还可以覆盖单个字段的输出。我没有这样做,所以我无法引导您完成它,但是我上面提供的链接有一些关于覆盖字段主题功能的文档。