小弟剛接觸drupal, 想用來做一個類似成績查詢的網站...
爬了一週的文找不到只好上來求救...
先報告目前進度,
我用cck做了一個內容類型 "std_score" 用來記錄學生的成績,
field有 班級、姓名、學號、國文、英文、數學...
使用者 有"學生"、"導師"兩種角色.
學生的帳號就是"學號",
且用content profile模組為使用者加入"班級"、"學號"、"姓名"等資訊.
成績和使用者的資料用 *.csv檔 匯入,
且每一篇的內容標題設定為"學號".
前兩天剛學會用views在頁面上顯示學生的成績,
views的arguments和Relationships還不會用... ><
現在有兩個需求一直沒辦法克服...
1. 學生身份登入, 用views只能查到自己的成績(別人的看不到).
2. 導師身份登入, 用views只能查到自己班上學生的成績(其他班的看不到).
我本來想用views的filter, 利用 "登入使用者" 的帳號(學號) 過濾 內容的標題或學號,
可是不知道怎麼取得登入者的帳號, 所以需求1...失敗
想用登入者profile裡的"班級" 過濾 內容的班級,
一樣無法取得登入者的 "班級" ,所以需求2....失敗.
我切入的想法是不是有問題??
請問有什麼方法可以做到這兩個需求呢??
拜託, 謝謝
Re: 急救~~ 如何用CCK、views ...
用 Arguments,加User
例如: User: Uid
你本來URL: example.com/result
會顯示全部
現在URL: example.com/result/1
就只顯示UID 1 的
當然也可以使用Content的Arguments
Arguments裏有一個Validator options,選PHP CODE
大約填入你要驗證的東西:
global $user;
if (arg(1) == $user->uid ) {
return TRUE;
}
這樣就只有登入者UID才能看
---
notaBlueScreen | 訂閱RSS
Re: 急救~~ 如何用CCK、views ...
其實也可以在filter那邊,以user: current user來過濾資料。
選擇is current logging user,就可以列出屬於當前登入者(不管是老師還是學生)的資料。
tky
Re: 急救~~ 如何用CCK、views ...
啊~ 原來這樣也可以做~~
剛剛試了也成功了...
又學一招... 感謝tky 大哥~
Re: 急救~~ 如何用CCK、views ...
Ya~~ 從十點多試到剛才終於試出來了...
現在學生身份登入可以只帶出自己的資料...
剛開始學要看懂真是要下功夫...
感謝 Kay.L 大哥... 太感動了... ^^
另外想再請問如果以"老師"的身份登入,
要怎麼取得登入使用者的"班級"資訊呢??
我記錄"教師使用者"的"班級"資訊只有在content profile模組做出來的個人資訊中...
要怎麼利用這個資訊在 arguments中呢??
還是有其他更好的做法?? 謝謝
Re: 急救~~ 如何用CCK、views ...
如果你是打算建立連結,讓老師們點選之後跳到該班級的資料,或者你的班級資料會不停新增或變動,用argument才比較有意義。
要不然,如果班級是固定的話,直接在filter過濾器那邊,以你建立的cck欄位來過濾資料,並且將過濾器exposed出去,變成一個選單,讓老師們選取之後即可得出特定班級的資料。
用argument的話,也一樣就是選取(比方說)「內容:班級」這個cck欄位即可。網址只要有出現「班級」的參數即可過濾資料。
tky
Re: 急救~~ 如何用CCK、views ...
"如果你是打算建立連結,讓老師們點選之後跳到該班級的資料,或者你的班級資料會不停新增或變動"
目前就是需要做類似這樣的功能...
我是想做一個view給每一班的導師共同使用
101班的導師登入, 只能看到101班的學生資料, (其他班的看不到)
102班的導師登入, 只能看到102班的學生資料, (其他班的看不到)
假設101班導師的帳號是 h512, 而唯一記錄 h512是"101班"的地方只有在user個人資訊裡的"班級"欄位中...
我該怎麼取得h512這個老師的"班級"資料, 用到filter或argument呢??
還是有其他比較好的做法, 拜託大家提供...謝謝