您在這裡

關於CCK裡面node reference

shirley_34's 的頭像
shirley_34 在 2012-03-21 (三) 15:51 發表

最近覺得node reference很好用
可以避免掉重複新增的問題

可是剛剛發現一個小麻煩
因為node reference是直接抓該類型的title
若我那個類型裡面的文章有分為已截止和正在進行的課程
那麼不管我的課程狀態是如何
都可以被node reference抓到title
可是我只想讓使用者選擇正在進行的課程

原本我是在報名表裡面直接新增一個欄位是課程名稱
這樣管理者去改那個欄位的可顯示值就可以了
可是因為現在我要離職
公司裡面又沒有人會用drupal
所以想說設定的越簡單讓讓其他人能夠簡單的工作

還是其他人有做過類似的事情
不知道有沒有更好的建議呢?
希望我的描述不會太複雜難懂orz

其實是我想要在報名表的地方
讓使用者選擇課程名稱的時候
可以把我們正在招生的名稱顯示出來讓他們自己選擇
不用我們在後台手動增加一個分類詞
下面那張圖是原本增加一個欄位叫做課程名稱然後在許可值裡面增加課程名稱讓使用者選擇
11

我想要這個欄位可以不用工作人員手動新增許可值
直接抓我們新增的課程名稱過來這樣

哎呀好難解釋ˊ ˋ
另外
我最近一直在忙著交接工作QQ
沒有甚麼時間寄信給你sorry

設想你的結構:

  1. Node type: 活動資訊
    • 活動名稱 (提供[報名表單->報名活動]的顯示名稱)
    • 活動內容
    • 活動日期...etc
  2. Node type: 報名表單
    • 姓名
    • 報名活動 (關連到 [活動資訊->活動名稱] )
    • 性別...etc
    • 狀態: 已截止/ 進行中 (分類 Term)

這樣子更要利用到 Views 了,

步驟 1:
Node Ref. 下,除了勾選指定的 Content type 外,應該還會看到一個 Advanced - Nodes that can be referenced (View) 的項目
這個可以透過 Views 產生下拉式選單的選項。

步驟 2:

建立 Views ,只要 Default Display 即可
大概需要的項目如下:

Setting:
Style: HTML List
Row Style: Fields
Fields
Node: Title
Filters
Node: published -> YES
Node: type -> 活動資訊
Taxonomy: term -> 判斷是否進行中

建立好 Views 就可以回到步驟1去選你剛剛建立好的 Views
這樣就能夠只顯示進行中的活動資訊供報名選擇