2009-08-16 143 views
2

我嘗試將值添加到節點和節點修訂版中,但節點數據仍未顯示。所以,顯然更多的數據存儲在其他地方。基本上,我想知道創建新節點時哪些表受到影響。Drupal在哪裏存儲NODE數據?

+0

你在使用CCK嗎? – ceejayoz 2009-08-16 15:27:43

+1

Drupal對中間渲染結果進行了大量緩存以提高性能 - 通過直接更改數據庫,您可能會繞過使緩存無效並看到技術上過時的頁面的邏輯。轉到*站點配置*,*性能*並按*清除緩存數據*來測試。 – Bevan 2010-05-23 10:16:25

回答

6

如果您只使用直線Drupal節點,則全部位於node_revision。如果您在那裏添加了文本並且沒有顯示,您可能已將其添加到錯誤的修訂版本中 - 請檢查vid值與node表中節點的vid匹配。

如果您使用CCK添加字段的Drupal節點類型的CCK數據將被存儲在當你添加的CCK領域的系統動態創建content_type_*content_field_*表。這些再次通過它們的nidvid值綁定到節點。

+0

問題是VID。謝謝!什麼是VID? – coderama 2009-08-16 15:47:32

+0

'vid'是修訂ID。如果啓用了節點修訂版本,則爲了歷史目的,它會跟蹤節點主體的過去版本。 – ceejayoz 2009-08-16 15:50:10

2

爲什麼不使用Drupal的node_save以編程方式創建節點?在api.drupal.org上查找它。

節點信息保存在node和node_revision中。正如之前的海報所說,CCK將其現場數據存儲在額外的表格中。其他模塊將數據存儲在附加表中。所以node_save通常是最好的方法。

如果您有一個非常簡單的內容類型,由於緩存可能無法顯示內容。如果您只是在不清除緩存的情況下將數據插入到數據庫中,Drupal就不會知道它在那裏,並且可能不會更新打開緩存的頁面。即使關閉了緩存,通常也會緩存一些內容,因此請嘗試清除緩存並查看是否有幫助。