J'essaie Node Exporter pour l'exportation de nœud de masse, mais il semble que je doive choisir chaque nœud à exporter individuellement.
Que faire si je souhaite exporter tous les nœuds d'un type de contenu sélectionné? Existe-t-il un moyen de le faire dans Node Export, ou devrais-je trouver un autre module?
Vous pouvez le faire avec 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.
Par exemple,
drush ne-export --type=article --file=article.txt
affichera tous les nœuds d'article dans article.txt au format sérialisé. Vous pouvez ensuite utiliser drush pour les importer:
$ 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.
Par exemple:
drush ne-import --uid=1 --file=article.txt
*mise à jour
Vous pouvez aller à la liste de tout le contenu dans les pages d'administration Drupal (/ admin/content dans D7), puis filtrer par type de contenu, puis tout sélectionner, puis sélectionner "Exporter les nœuds" dans le menu déroulant
Vous pouvez utiliser le module Node export aux fins mentionnées ci-dessus. Ça dit:
Il permet aux utilisateurs d'exporter des nœuds puis de l'importer dans une autre installation Drupal, ou sur le même site. En utilisant ce module, vous pouvez gagner beaucoup de temps en configurant de nouveaux sites Web qui ont des nœuds similaires à les sites Web que vous avez déjà créés, la migration des nœuds vers de nouvelles versions Drupal, ou entre des sites de développement/de transfert/de production.
Cela pourrait vous aider à diviser les résultats. Script bash simple:
#!/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