Drupal Views:如何打印视图缓存最后一次刷新到视图显示

Posted

技术标签:

【中文标题】Drupal Views:如何打印视图缓存最后一次刷新到视图显示【英文标题】:Drupal Views: How to a print the last time a View cache was refreshed to the view Display 【发布时间】:2010-02-26 16:32:12 【问题描述】:

我想在我的页面上显示“此页面上次刷新时间:DATETIME”

我已尝试获取缓存日期,但在使用 View display_handler 对象时遇到问题。 $view->display_handler->get_plugin('cache');为 NULL,即使视图缓存当前设置为 1 分钟。任何想法如何打印缓存的 DATETIME?

$view = views_get_view('Petition') or die ('no such view');
$view->set_display('Petition Signers Page');
$plugin = $view->display_handler->get_plugin('cache');
var_dump($view->display_handler);  //this is defined
var_dump($plugin); //this is NULL
$cache = cache_get($plugin->get_results_key(),$plugin->table));
$timestamp = $cache->created;

【问题讨论】:

【参考方案1】:
    <?php

$view = views_get_view('Consignment') or die ('no such view');
$view->set_display('page_1');
$view->execute('page_1');
$plugin = $view->display_handler->get_cache_plugin();
$cache = cache_get($plugin->get_output_key(), $plugin->table);
$timestamp = $cache->created;

print format_date($timestamp);

?>

【讨论】:

将 Consignment 和 page_1 正确更改为您的视图名称。需要 execute() 来获取计算 md5 哈希的结果数据。

以上是关于Drupal Views:如何打印视图缓存最后一次刷新到视图显示的主要内容,如果未能解决你的问题,请参考以下文章

Drupal 7 Views 自定义视图模板字段

(Drupal 6 Views)如何制作一个显示特定节点列表的视图(按节点ID)?

Drupal 6 Views - 获取和设置记住的过滤器值

Drupal Views 将图像字段输出为可选链接

drupal 自定义视图过滤器

如何创建 Drupal 论坛报告/分析视图?