2010-01-27 200 views
2

快速的問題,我認爲......Drupal的 - 更新內容類型與新領域不更新現有內容

我做了其中有一些自定義內容類型Drupal站點。我用這些創建了一系列記錄,然後我不得不修改自定義內容類型來更改其中一個字段,並給它一個新的默認值。

問題是現有記錄不會使用此默認值進行更新。顯然,我必須去重新編輯一切,以添加默認值。

NEW記錄具有默認值。那裏沒問題。

這只是一個Drupal的事情,還是我錯過了一個把戲?

感謝, 休

回答

2

我敢肯定,這是一個「Drupal的東西」(更確切地說,CCK的事情;)

我絆了這個問題曾經和我記憶所及,發現CCK中沒有邏輯將追溯應用到現有節點。因此,您需要通過某種方式確保每個受影響節點的加載/保存週期。對於少量,可以通過「admin/content/node/overview」上的一個或其他批量操作完成。對於更大量的節點,這可能需要在所有受影響的節點上調用node_load()node_save()的小腳本。使用SQL

+0

亨裏克嗨創建一個場或編輯默認值時存在的內容,是的,我擔心會出現這種情況!感謝您的提示,我會仔細研究一下腳本。 – MrFidge 2010-01-28 13:29:18

0

,考慮到與字段值的節點未設置是

SELECT nid,vid 
from node where type='procedure' and nid not in (select entity_id from field_data_field_pr_choix_du_document) 

field_data_field_pr_choix_du_document是對應於我的場和包含與實體ID referinng節點設置一個條目面值表

我使用SQL INSERT ... SELECT語法做

https://dev.mysql.com/doc/refman/5.5/en/insert-select.html

INSERT INTO `field_data_field_pr_choix_du_document` (`entity_type`, `bundle`, `deleted`, `entity_id`, `revision_id`, `language`, `delta`, `field_pr_choix_du_document_value`) 
SELECT 'node','procedure',0,nid,vid,'und',0,'Importer un document' 
from node where type='procedure' and nid not in (select entity_id from field_data_field_pr_choix_du_document) 
0

張貼在未來的任何人: https://www.drupal.org/project/field_defaults

允許您更新現有場

+0

歡迎來到Stack Overflow!雖然這可能會回答這個問題,[這將是可取的](http://meta.stackoverflow.com/q/8259)在這裏包括答案的重要部分,並提供鏈接供參考。 – IKavanagh 2015-11-20 19:30:02