2010-01-27 201 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