Respostas:
Você pode usar EntityFieldQuery
para recuperar uma lista de nós e atualizar os campos do nó com node_save()
:
$lang = LANGUAGE_NONE; // Replace with ISO639-2 code if localizing
$node_type = 'page'; // Machine name of the content type
$query = new EntityFieldQuery;
$result = $query
->entityCondition('entity_type', 'node')
->propertyCondition('type', $node_type)
->execute();
if (!empty($result['node'])) {
$nodes = entity_load('node', array_keys($result['node']));
foreach($nodes as $node) {
// Replace field_foo with the machine name of the field to update.
// - 0 refers to specific value within the field array, for when the field contains
// multiple values. If the field only has one value, it should be 0.
$node->field_foo[$lang][0]['value'] = 'New Value';
node_save($node);
}
}
Se for uma operação pontual, você pode usar a função Executar PHP do módulo Devel para executar o acima: caso contrário, você pode criar um módulo personalizado simples.
Eu usaria o Views Bulk Operations e o "Executar script arbitrário do PHP" para executar essencialmente os itens acima, mas você não precisa fazer todo o código extra, apenas o pequeno trecho que faz o que você deseja (como $object->field_foo['und'][0]['value'] = 'some_value'
)
Se você deseja apenas atualizar o campo com algum valor, a alternativa mais eficiente à resposta aceita é a seguinte:
$lang = LANGUAGE_NONE; // Replace with ISO639-2 code if localizing
$node_type = 'page'; // Machine name of the content type
$query = new EntityFieldQuery;
$result = $query
->entityCondition('entity_type', 'node')
->propertyCondition('type', $node_type)
->execute();
if (!empty($result['node'])) {
$nodes = entity_load('node', array_keys($result['node']));
foreach($nodes as $node) {
// Replace field_foo with the machine name of the field to update.
// - 0 refers to specific within the field array, for when the field contains
// multiple values. If the field only has one value, it should be 0.
$node->field_foo[$lang][0]['value'] = 'New Value';
field_attach_presave('node', $node);
field_attach_update('node', $node);
}
}
A diferença está em usar diretamente field_attach_presave
e field_attach_update
funções, que atualizam corretamente apenas o campo do nó e ignoram o restante do processo de salvamento do nó. Isso causa um impacto que nenhum gancho de pré-salvamento / salvamento de nó será chamado, a data "alterada" não será atualizada para a data atual etc. De acordo com o seu caso de uso, pode ser melhor usar o processo node_save () inteiro.
Instale e ative o módulo Views Bulk Operations e crie uma exibição com uma exibição de página.
Adicionar => Operações em massa: campo Conteúdo (Conteúdo) em exibição.
Referir
Selecione os campos que você deseja definir o valor padrão.
No seu caso, seu título. Na imagem são tags.
Salve a visualização e vá para a página que ela criou. Se você tiver mais de uma página de resultados, poderá selecionar todos os itens na página atual, todos os itens em todas as páginas ou marcar manualmente as caixas correspondentes a nós individuais. Pelo menos uma caixa de seleção deve estar marcada para continuar.
Agora você define o valor padrão e o salva.