Como configurar a exportação de nó para exportação de nó em massa?


25

Estou testando a exportação de nó para exportação de nó em massa, mas parece que tenho que escolher todos os nós para exportar individualmente.

E se eu quiser exportar todos os nós de um tipo de conteúdo selecionado? Existe alguma maneira de fazer isso na exportação de nó ou devo encontrar outro módulo?

Respostas:


25

Você pode fazer isso com drush :

$ drush help ne-export
Export nodes using Node export.

Arguments:
  nids : A list of space-separated node IDs to export.

Options:
  --file : The filename of the output file.  If supplied, the node code will be
exported to that file, otherwise it will export to stdout.
  --format : If supplied, node code will be output using a particular export
format, if available. (e.g. serialize)
  --status : Filter for 'status'; A boolean value (0 or 1) indicating whether
the node is published (visible to non-administrators).
  --promote : Filter for 'promote'; A boolean value (0 or 1) indicating whether
the node should be displayed on the front page.
  --sticky : Filter for 'sticky'; A boolean value (0 or 1) indicating whether
the node should be displayed at the top of lists in which it appears.
  --translate : Filter for 'translate'; A boolean value (0 or 1) indicating
whether the node translation needs to be updated.
  --language : Filter for 'language'; The language code (e.g. de or en-US) of
this node.
  --type : Filter for 'type'; The machine-readable name (e.g. story or page) of
the type of this node.
  --sql : Filter by SQL (EXPERIMENTAL); An SQL query string that returns nids
(e.g. "SELECT nid FROM nodes WHERE nid < 10").
  --code : Filter by PHP code (EXPERIMENTAL); PHP code that prints or returns,
an array or CSV string of nids (e.g. "custom_get_my_nids();"). Don't include PHP
tags.

Por exemplo,

drush ne-export --type=article --file=article.txt

produzirá todos os nós do artigo para article.txt no formato serializado. Você pode usar o drush para importá-los:

$ drush help ne-import
Import nodes previously exported with Node export.

Arguments:

Options:
  --uid : User ID of user to save nodes as. If not given will use the user with
an ID of 1. You may specify 0 for the Anonymous user.
  --file : The filename of the input file.  If supplied, the node code will be
imported from that file, otherwise it will import to stdin.

Por exemplo:

drush ne-import --uid=1 --file=article.txt

*Atualizada


Obrigado, mas isso é adequado para grande quantidade de nós (> 1000)?
Cód

Em teoria, sim, se você fornecer ao PHP memória suficiente e definir um tempo de execução bastante alto. Acho que da última vez que fiz isso, tive centenas de nós, talvez perto de mil.
mpdonadio

Obrigado novamente. Aqui está mais informações drupal.org/node/1681584 . Também vou tentar o Views Data Export
Codium

11
onde o resultado exportou o arquivo armazenado no disco rígido ao usar o comando Drush?
Ahmad Zain

2
@AhmadZain A saída é armazenada onde quer que você a especifique. O comando acima deve armazenar o arquivo no mesmo local em que você executou o comando.
mpdonadio

5

Você pode acessar a lista de todo o conteúdo nas páginas de administração do Drupal (/ admin / content em D7), filtrar por tipo de conteúdo, selecionar todos e selecionar 'Exportar nó' no menu suspenso


2
Sim! Esta é a resposta que eu estava procurando. Isso é muito mais fácil do que instalar e configurar o Views Bulk Operations (VBO). Para uma solução tão simples, era realmente difícil de encontrar.
Magmatic

11
Isso exporta apenas a página atual do conteúdo desse tipo, não TODO o conteúdo do tipo.
RichardAtHome

then select 'Node export' from the dropdown menuque menu?
Ejaz

pode responder a essa última pergunta. Também não estava vendo isso até desabilitar a visualização admin_views_node que estava ativada para esse site e limpar os caches. agora no menu suspenso Opções de atualização em admin / content, vejo uma opção para 'exportação de nós'. Como alternativa, se eu tiver essa Visualização ativada, posso editá-la, selecione o campo Operações em Massa e adicione a operação 'exportação de nó'.
petednz - fuzion

0

Você pode usar o módulo de exportação do Nó para os fins mencionados acima. Diz:

Ele permite que os usuários exportem nós e depois os importem para outra instalação do Drupal ou no mesmo site. Usando este módulo, você pode economizar muito tempo configurando novos sites com nós semelhantes aos sites que você já criou, migrando nós para novas versões do Drupal ou entre sites de desenvolvimento / preparo / produção.


0

Isso pode ajudá-lo a dividir os resultados. Script bash simples:

#!/bin/bash
# Run this script in Drupal root app directory!
# Requirements: drush command tool installed with ne-export command (you need Node Export module installed in Drupal)

maxRows=100
startFrom=0
for i in {0..17}
do
  startFrom=$(( (i)*100 ))
  echo "SELECT nid FROM node where node.type='noticia' limit $startFrom,$maxRows" # just for debugging
  drush ne-export  --file="nodes-exported/nodes-exported-$i.json" --format='json' --sql="SELECT nid FROM node where node.type='noticia' limit $startFrom,$maxRows" # of course set your own SQL here
done

exit 0
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.