您在這裡

請問關於Create Content 還有View的問題

BJStation's 的頭像
BJStation 在 2009-12-09 (三) 14:30 發表

小弟才剛接觸drupal, 請大家多多指教

目前有幾個Content Type分別叫活動(A), 活動場次(B), 還有活動報名表(C)
A的一個cck fieldr叫活動場次, 設定成node reference的型態, 然後選selector
然後裡面view選擇一個顯示所有活動場次的view. 然後這個view有給一個參數是
所屬活動(所屬活動在B的欄位中定義成text的selector, 然後內容是用php找出目前所有的活動)
所以在一開始建立一個新活動時, 活動場次會看不到(還沒建立), 之後在建立新活動場次時,
就可以看到目前所有的活動, 並在所屬活動這個欄位選擇活動, 之後在回去編輯活動時,
活動的活動場次欄位就可以只顯示屬於自己活動的場次, 並點選. 接下來就是活動報名表,
其中的一個欄位就是所屬活動場次, 但是問題來了, 要是活動和活動場次很多就很難去選,
想請問有什麼辦法在做content create時能設定參數, 也就是說我現在要報名的是活動X,
所以所屬活動場次這個欄位就指列出活動X的場次, 而不是全部活動的場次?

小弟就做了下面這個實驗
新增一個view顯示所有目前的活動, 然後新增一個欄位叫我要報名, 裡面的設定url是
node/add/activity-apply/[field_activity_name_value]
activity-apply是活動報名表, [field_activity_name_value]是報名活動的名稱
所以我在活動報名表的text selector中就用php由網址拿到活動名稱的參數,
去資料庫找出該活動的所有場次, 所以列表就只會看到該活動的場次, 但是!!!
當我按下新增的時候, 卻無法從URL拿到活動名稱的變數了(我用php寫檔看URL參數的值)
實驗了一個下午, 結果是場空@@, 就算這樣可行, 在編輯報名活動表的時候, 也會拿不到參數
一整個無解~請問板上的大大有什麼辦法嗎?

簡化我的問題, 在新增新Content Type的資料時, 有沒有辦法可以給參數告知view說
現在我傳的參數是什麼? 我是有在node reference中view中可以看到argument的欄位
請問是有什麼變數是我可以傳給view的? $node->nid? [nid]? (不可能因為資料還沒建立, 沒nid)
是否可能說我有一個活動列表, 然後點選那個活動的欄位, 就產生該活動的報名表來填寫(php可以在後面自己加?var=xxx),
而不是使用者再傻傻的去所有列表中找活動?

另外還有一個問題就是, 我建立完活動, 在建立活動場次時已經選擇出所屬的活動, 可是我還要再多花一步回去編輯活動,
把node referece選擇活動場次的node, 請問有什麼辦法可以在建立活動場次後, 就直接把這個活動場次node設定給該活動
亦或是我可以在哪邊可以插入我自己的php code來解決?

最後, 我在活動場次這個content type中有個欄位是報名人數, 請問有什麼辦法在使用者填完該活動場次報名表時, 就同時更改
報名人數的資訊呢? PHP Code該放在哪裡?

請板上的大大為小弟我指點迷津吧>"< 謝謝!!!