2011-12-22 80 views
2

我是新來的dr​​upal,目前我堅持這個問題。在日期參數動態查看drupal 7

我想創建一個文章視圖(「每日提示」),其中的內容將自動相應地更改。默認值是當前日期。

例如:

的http://本地主機/測試 這將讓當前日期作爲默認過濾器。如果沒有找到任何項目,它將不會找到任何結果。

,當我去的http://本地主機/測試/ 20111220視圖將自動獲得在URL和輸出在該日期的內容的日期參數的值。

我該如何做到這一點?

那裏有任何想法或想法?

謝謝。

+0

您正在使用[論壇](http://drupal.org/project/views)? – 2011-12-22 17:32:08

+0

是的。有任何想法嗎? – claire 2011-12-23 02:13:52

+0

該視圖是面板的一部分。並且只要在URL中提供日期,它就會根據日期顯示視圖的內容。 – claire 2011-12-23 02:36:14

回答

5

如果您使用Views,請嘗試以下操作。

  1. 添加上下文過濾器高級字段集,並選擇日期:日期(節點)過濾器。
  2. 在它的設置在當過濾器值是不是在URL字段集打勾提供默認值離開當前日期
  3. 添加多個值標識符設爲
  4. 日期比較設置爲只有這個領域
  5. 之間日期字段(S)複選框選擇內容:發佈日期
  6. 方法設爲

之後,通過訪問/測試頁,你將有最後添加的內容,並通過訪問/測試/%DATE%你會爲最新的內容。例如/測試/ 2011-12-23

%日期%應儘可能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

+0

嗨,感謝您的回覆。我已經嘗試了上述步驟,但它沒有過濾。所以即使我去了沒有數據的日期,它仍然會返回內容。有沒有辦法修改日期格式?因爲它應該像這個測試/ 20111220。 ?謝謝。 – claire 2011-12-27 01:26:11

+0

查看更新的答案。 – 2012-01-19 11:38:00

+0

你好,我再次嘗試,但我得到這個錯誤。 「上下文篩選器處理程序node.date_argument不可用。」 – claire 2012-03-28 06:40:48