您在這裡

Drupal可否抓取自訂的資料庫Table然後用View顯示?

MarkC's 的頭像
MarkC 在 2011-08-19 (週五) 00:56 發表

爬了文找不到...PO來請教各位....
這部份自訂的Table可能有三種狀況
1. 含於Drupal的DB中...
2. 同主機不同資料庫
3. 外部主機
請問一下,是否都可利用Drupal來作連線藉由Views處理後顯示?還是還需掛別的模組?

不清楚你自定的table是用來幹嘛的..所以沒辦法給太清楚的資訊..

如果你是要自定content type,並且支援views的操作的話,你需要學習如何利用 hook system 做個 module (by node system)來定義你的 content type,並且加入 views api 的支援。

如果是要定義其他的東西的話,那你一樣要寫個 module,並且加入 views api 的支援。

其實你這個題目不小。我想如果是製造業的話,都會碰到這個功能。

實務上,要跨系統,比較合理的作法是建置 ETL -> staging DB -> 再轉到 reporting system / Information Portal。(哇,寫這段話好難,才離開製造業一年多,生疏了。) 唸得出來的電子製造業都這樣做。 (tSMC, UMC, Novatek, ASE, ...)

如果是小系統,不考慮系統的效能 (考慮效能 / 效率就像上面講的,小公司 / 小系統可能就不考慮,直接做連結了),那可能就像 ilay 說的。

我想了一想,還是做 staging DB 比較簡單,然後在 D6 / D7 上面宣告這些「外來」的 table (D6 的話,有 table wizard 可以用;D7 的話,最好是使用 Entity 的方式來定義 (這部份我還沒有深入研究)。)

在 D6 / D7 上面可以看到這些資料時 (我指的是可以利用 drupal 相關的模組存取這些資料,而不是另外寫 sql, module 去存取),並且也可以在 Views 裡看到它們時,剩下就簡單了,只是做 View 而已。