2010-08-05 26 views
2

我有一個用戶創建的內容類型(Witl)。在創建表單上,用戶從視圖(VOut)生成的節點列表中選擇一個選項。現在我將該選項作爲Witl上的節點引用存儲。CCK輸入形式,但不是節點結構

我需要對事物進行重構,以便該節點引用不存儲在Witl本身上,而最終作爲另一個節點上的節點引用存儲。但是,用戶只能創建Witl內容類型。這意味着我必須找出一種方法來向Witl上的用戶呈現該視圖(選擇列表),而不是將其保存在Withl上。可以做到嗎?有沒有辦法只使用一種內容類型創建表單來呈現視圖,而不是將數據存儲在這種內容類型上?

回答

3

是的,這可以做到。

而不是創建內容類型Witl上的字段,實現hook_form_alter()動態添加字段到內容創建窗體。然後,在提交表單之後,實施hook_nodeapi()以在某處保存此值。

雖然我不確定它是否是最好的方法。

3

是否真的很重要的參考沒有存儲在Witl節點?有幾個模塊試圖解決在節點之間創建和顯示雙向關係的問題,但據我所知,它們都沒有將參考文件僅保存在參考節點中的

假設你有兩個節點,節點A(類型:Witl)和節點B(類型:other),並且你需要做一些從B到A的引用。這是你的情況,對嗎?

Corresponding Node References模塊執行「容易」的方法和將採取參照在A到B並複製它在B到A的參考

其它模塊,例如Node RelationshipsReverse Node Reference和認爲數據庫不應該包含重複的數據,並嘗試解決A到B的關係當看節點B.

如果它確實是一個必須的參考,當在A中添加,是只有存儲在B,然後親自,我會將「對應節點引用」中的代碼作爲自定義模塊的基礎。

2

我相信它可能使用以下模塊

http://drupal.org/project/nodereference_url

這裏是模塊的教程要做到這一點:

http://mustardseedmedia.com/podcast/episode37

本教程可能混淆你一下,讓我建議您先閱讀該模塊的文檔。

基本上,這個模塊的功能是允許你將VOut鏈接到Witl。正如你所解釋的,一個Witl連接到一個VOut。但是在使用nodereference URL模塊之後,你將能夠在VOut中有一個連接到Witl的節點引用字段。