您在這裡

請問 end date 的日期欄位,可以 ReWrite 輸出為「迄今」嗎?

jnet's 的頭像
jnet 在 2013-06-26 (三) 15:55 發表

請問各位先進,我用 Views 在做系上的師資陣容網頁,

在其任期欄位,用 Drupal 7 設定 end date,

目前是顯示為 「2012-09-01 ~ 2012-12-31」

但我希望時間在 2013-12-31 前顯示為 「2012-09-01 ~ 迄今」

在 2013-12-31 後顯示為 「2012-09-01 ~ 2012-12-31」

想請教各位先進,請問有模組可以做到嗎?

若沒模組的話,小弟會 PHP, CSS & jQuery 要手工硬改也是可以,

但希望,儘可能可以用 Drupal 現有的介面,來實現。

以上,再有勞各位先進撥冗幫忙,感恩

有趣的案例。

如果是我的話,我不會選擇用時間點做切割,因為時間會遞移,沒弄好的話必須一直去追加規則來符合需求。
一個方法是分開兩個日期欄位,「到職日期」與「離職日期」;「離職日期」為選填。
在欄位顯示(field display)那裡隱藏這兩個欄位,然後透過 views + EVA 改寫這兩個欄位為一個「任期」欄位顯示。
在 views 中設定「離職日期」欄位「若無內容則顯示文字「迄今」」,然後 rewrite 「任期」欄位為 "[到職日期] ~ [離職日期]"

如此,若未填離職日期,師資 node 就會顯示:「任期:[到職日期] ~ 迄今」

這樣就不需要手工硬改,只需要學會怎麼用 EVA 就可以了。

tky

喔,我發現我漏看你是在用 views 做出列表,這樣的話就不需要用到 EVA。(我以為你要將這樣的內容顯示在 node 裏面)

就算是一個日期欄位,views 裡頭也可以分別拉出開始和結束時間,你一樣可以用我之前講的作法,設定結束時間的「空無值顯示文字」,然後重寫、合併兩個欄位即可。
這樣單純一點。

tky