Wie konfiguriere ich den Knotenexport für den Massenknotenexport?


25

Ich probiere den Knotenexport für den Massenknotenexport aus, aber es scheint, dass ich jeden Knoten einzeln auswählen muss, um ihn zu exportieren.

Was ist, wenn ich alle Knoten eines ausgewählten Inhaltstyps exportieren möchte? Gibt es eine Möglichkeit, dies im Knoten-Export zu tun, oder sollte ich ein anderes Modul finden?

Antworten:


25

Sie können es mit Drush tun :

$ 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.

Beispielsweise,

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

gibt alle Artikelknoten in der Datei article.txt im serialisierten Format aus. Sie können sie dann mit drush importieren:

$ 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.

Beispielsweise:

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

*aktualisiert


Danke, aber ist das für eine große Anzahl von Knoten (> 1000) geeignet?
Codium

Theoretisch ja, wenn Sie PHP genügend Speicher zur Verfügung stellen und eine ziemlich hohe Ausführungszeit einstellen. Ich glaube, als ich das das letzte Mal gemacht habe, hatte ich Hunderte von Knoten, vielleicht fast tausend.
mpdonadio

Danke noch einmal. Hier gibt es mehr Infos unter drupal.org/node/1681584 . Ich werde versuchen, Views Data Export auch
Codium

1
wo das Ergebnis exportierte Datei auf der Festplatte gespeichert, wenn Drush-Befehl verwendet?
Ahmad Zain

2
@AhmadZain Die Ausgabe wird dort gespeichert, wo Sie sie angeben. Der obige Befehl sollte die Datei an dem Ort speichern, an dem Sie den Befehl ausgeführt haben.
mpdonadio

5

Sie können zur Liste aller Inhalte auf den Drupal-Verwaltungsseiten (/ admin / content in D7) gehen, nach Inhaltstyp filtern, dann alle auswählen und dann im Dropdown-Menü die Option "Knotenexport" auswählen


2
Ja! Dies ist die Antwort, nach der ich gesucht habe. Dies ist viel einfacher, als Views Bulk Operations (VBO) installieren und konfigurieren zu müssen. Für eine so einfache Lösung war es wirklich schwer zu finden.
Magmatic

1
Das exportiert nur die aktuelle Seite des Inhalts dieses Typs, nicht den gesamten Inhalt des Typs.
RichardAtHome

then select 'Node export' from the dropdown menuwelches Menü?
Ejaz

es kann diese letzte Frage beantworten. Ich habe dies auch erst gesehen, als ich die für diese Site aktivierte Ansicht admin_views_node deaktiviert und die Caches geleert habe. Jetzt sehe ich in der Dropdown-Liste Update-Optionen unter admin / content eine Option zum 'Node-Export'. Wenn ich diese Ansicht aktiviert habe, kann ich sie alternativ bearbeiten, das Feld Massenoperationen auswählen und die Operation 'Knotenexport' hinzufügen.
petednz - fuzion

0

Sie können das Knoten-Exportmodul für den oben genannten Zweck verwenden. Es sagt:

Benutzer können Knoten exportieren und dann in eine andere Drupal-Installation oder auf derselben Site importieren. Mit diesem Modul sparen Sie viel Zeit beim Einrichten neuer Websites, die ähnliche Knoten aufweisen wie bereits erstellte Websites, beim Migrieren von Knoten zu neuen Drupal-Versionen oder zwischen Entwicklungs-, Staging- und Produktionsstandorten.


0

Dies kann Ihnen bei der Aufteilung der Ergebnisse helfen. Einfaches Bash-Skript:

#!/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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.