drupal-7之在 drupal 7 中按日期参数动态查看

haluo1 阅读:94 2025-06-02 22:19:02 评论:0

我是 drupal 的新手,目前我遇到了这个问题。

我想创建一个文章 View (“今日提示”),其中的内容会自动相应地更改。默认值为当前日期。

例如:

http://localhost/test 这将获取当前日期作为默认过滤器。如果没有找到任何项目,它将给出没有找到的结果。

当我访问 http://localhost/test/20111220 时, View 将自动获取 url 中日期参数的值并输出该日期的内容。

我怎样才能做到这一点?

有什么想法或想法吗?

谢谢。

请您参考如下方法:

如果您使用的是 View ,请尝试以下操作。

  1. 高级字段集中添加上下文过滤器并选择日期:日期(节点) 过滤器。
  2. When the filter value is NOT in the URL fieldset 的设置中勾选Provide default value 和留下当前日期
  3. Add multiple value identifier设置为No
  4. Dates to compare 设置为Only this field
  5. 日期字段复选框之间选择内容:发布日期
  6. 方法设置为OR

之后,通过访问您的/test 页面,您将获得最后添加的内容,并通过访问/test/%date% 你会有那个日期的内容。例如/test/2011-12-23

%date% 应为 ISO 日期/期间格式(即 YYYY、YYYY-MM、YYYY-MM-DD、YYYY-W99、YYYY-MM- DD——P3M、P90D等)。

编辑:19-01-2012

在您的站点中遵循此路径 http://yoursite/admin/structure/views/import 并将以下数据放入代码文本字段:

$view = new view; 
$view->name = 'test'; 
$view->description = ''; 
$view->tag = 'default'; 
$view->base_table = 'node'; 
$view->human_name = 'test'; 
$view->core = 7; 
$view->api_version = '3.0'; 
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */ 
 
/* Display: Master */ 
$handler = $view->new_display('default', 'Master', 'default'); 
$handler->display->display_options['title'] = 'test'; 
$handler->display->display_options['access']['type'] = 'perm'; 
$handler->display->display_options['cache']['type'] = 'none'; 
$handler->display->display_options['query']['type'] = 'views_query'; 
$handler->display->display_options['query']['options']['query_comment'] = FALSE; 
$handler->display->display_options['exposed_form']['type'] = 'basic'; 
$handler->display->display_options['pager']['type'] = 'some'; 
$handler->display->display_options['pager']['options']['items_per_page'] = '10'; 
$handler->display->display_options['style_plugin'] = 'list'; 
$handler->display->display_options['row_plugin'] = 'fields'; 
$handler->display->display_options['row_options']['hide_empty'] = 1; 
$handler->display->display_options['row_options']['default_field_elements'] = 0; 
 
/* No results behavior: Global: Text area */ 
$handler->display->display_options['empty']['area']['id'] = 'area'; 
$handler->display->display_options['empty']['area']['table'] = 'views'; 
$handler->display->display_options['empty']['area']['field'] = 'area'; 
$handler->display->display_options['empty']['area']['label'] = 'No results'; 
$handler->display->display_options['empty']['area']['empty'] = FALSE; 
$handler->display->display_options['empty']['area']['content'] = 'No articles found.'; 
$handler->display->display_options['empty']['area']['format'] = 'full_html'; 
$handler->display->display_options['empty']['area']['tokenize'] = 0; 
 
/* Field: Content: Title */ 
$handler->display->display_options['fields']['title']['id'] = 'title'; 
$handler->display->display_options['fields']['title']['table'] = 'node'; 
$handler->display->display_options['fields']['title']['field'] = 'title'; 
$handler->display->display_options['fields']['title']['label'] = ''; 
$handler->display->display_options['fields']['title']['alter']['alter_text'] = 0; 
$handler->display->display_options['fields']['title']['alter']['make_link'] = 0; 
$handler->display->display_options['fields']['title']['alter']['absolute'] = 0; 
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 0; 
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 0; 
$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0; 
$handler->display->display_options['fields']['title']['alter']['trim'] = 0; 
$handler->display->display_options['fields']['title']['alter']['html'] = 0; 
$handler->display->display_options['fields']['title']['hide_empty'] = 0; 
$handler->display->display_options['fields']['title']['empty_zero'] = 0; 
$handler->display->display_options['fields']['title']['link_to_node'] = 1; 
 
/* Sort criterion: Content: Post date */ 
$handler->display->display_options['sorts']['created']['id'] = 'created'; 
$handler->display->display_options['sorts']['created']['table'] = 'node'; 
$handler->display->display_options['sorts']['created']['field'] = 'created'; 
$handler->display->display_options['sorts']['created']['order'] = 'DESC'; 
 
/* Contextual filter: Date: Date (node) */ 
$handler->display->display_options['arguments']['date_argument']['id'] = 'date_argument'; 
$handler->display->display_options['arguments']['date_argument']['table'] = 'node'; 
$handler->display->display_options['arguments']['date_argument']['field'] = 'date_argument'; 
$handler->display->display_options['arguments']['date_argument']['default_action'] = 'default'; 
$handler->display->display_options['arguments']['date_argument']['default_argument_skip_url'] = 0; 
$handler->display->display_options['arguments']['date_argument']['summary']['format'] = 'default_summary'; 
$handler->display->display_options['arguments']['date_argument']['use_fromto'] = 'no'; 
$handler->display->display_options['arguments']['date_argument']['date_fields'] = array( 
    'node.created' => 'node.created', 
); 
 
/* Filter criterion: Content: Published */ 
$handler->display->display_options['filters']['status']['id'] = 'status'; 
$handler->display->display_options['filters']['status']['table'] = 'node'; 
$handler->display->display_options['filters']['status']['field'] = 'status'; 
$handler->display->display_options['filters']['status']['value'] = 1; 
$handler->display->display_options['filters']['status']['group'] = 0; 
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE; 
 
 
/* Filter criterion: Content: Type */ 
$handler->display->display_options['filters']['type']['id'] = 'type'; 
$handler->display->display_options['filters']['type']['table'] = 'node'; 
$handler->display->display_options['filters']['type']['field'] = 'type'; 
$handler->display->display_options['filters']['type']['value'] = array( 
    'page' => 'page', 
); 
 
/* Display: Page */ 
$handler = $view->new_display('page', 'Page', 'page'); 
$handler->display->display_options['path'] = 'test'; 

现在按照 /test 页面,您将获得今天的日期。您还可以将日期类型用作 20120119


标签:日期
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号