您在這裡

關於自己新增DB欄位以及表單設定

wilsondenq's 的頭像
wilsondenq 在 2012-01-03 (二) 15:00 發表

這陣子正在用
drupal建立一個project control 以及 issue tracking 的網頁介面
其實project module 以及 issue tracking module 已經很不錯用了
雖然還有一點小bug不過都已經很不錯了

目前遇到的問題就是,比如說,在發表討論區文章,或是要新增一個project issue.....etc...
如果我希望加上其他給發表文章者輸入或是選擇的欄位 類似於drupal中文網站上,
我們要新增文章,可以選擇 drupal版本

這樣子要新增表單,應該也是要到DB裡面去新增一個欄位
然後另外就是要在網頁上面新增一個form 一起submit進去
CCK是可以做到讓自定選單的文字等方進去到內文裡面
但是卻不能夠在DB裡面自定一個欄位來儲存
這樣也就沒辦法SELECT資料出來做數據分析

還是會有其他的方法呢?

test2
如上圖所示
我用CCK在project_issue 的內容類型,新增上一個group稱為"Issue時程"
然後就可以讓使用者針對這個issue制定開始時間以及預計規劃時程

不過這個方式
會讓Issue時程這個group用div方式貼在"Issue details" group裡面的說明欄位,
而不是存在固定的table

這樣一來便沒有辦法透過SQL語法去取得時間資訊
也就無法在網站的首頁就顯示哪些issue快要到期了

目前我有想過的解決方案當然包含view在內
另外的就是如果可以讓CCK產生的div是貼在"Issue details" group裡面的標題欄位,這樣我還是有辦法可以透過SQL語法把時間資訊取出來

最麻煩的方式,就是自己在新增一個欄位在project_issue table裡面,
不過我就不是很清楚如何使用CCK配合PHP語法去將CCK form的資訊寫進去DB裡面

謝謝建議

補問題
今天自己有找到在content_field裡面可以查詢的到用CCK所建立表單之資訊
因此查詢沒問題

但是重點是,有些table的attribute name名稱是相同的,
將table做join的時候,就會發生要撈資料不知道是要撈哪一個table的

如下面表示
名稱為name的attribute分別出現在project_issue_state以及project_issue_priority兩個table
並且儲存的是不同的資訊
這樣一來撈資料就會產生問題

SELECT uri,title,component,project_issue_state.name,project_issue_priority.name,comment
FROM project_projects,node,project_issues,project_issue_state,project_issue_priority,users
where project_issues.nid=node.nid
AND project_issues.priority=project_issue_priority.priority
AND project_issues.sid=project_issue_state.sid
AND project_issues.pid='24'
AND project_issues.sid='1'