Bagaimana cara mengkonfigurasi Node Ekspor ke ekspor simpul massal?

25

Saya mencoba Ekspor Node untuk ekspor simpul massal, tetapi tampaknya saya harus memilih setiap simpul untuk diekspor secara individual.

Bagaimana jika saya ingin mengekspor semua node dari jenis konten yang dipilih? Apakah ada cara saya bisa melakukan ini di Node Export, atau saya harus mencari modul lain?

Natrium
sumber

Jawaban:

25

Anda dapat melakukannya dengan 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.

Sebagai contoh,

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

akan menampilkan semua simpul artikel ke article.txt dalam format serial. Anda kemudian dapat menggunakan drush untuk mengimpornya:

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

Sebagai contoh:

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

* diperbarui

mpdonadio
sumber
Terima kasih, tetapi apakah ini cocok untuk sejumlah besar simpul (> 1000)?
Codium
Secara teori, ya, jika Anda memberikan memori PHP yang cukup dan mengatur waktu eksekusi yang cukup tinggi. Saya pikir terakhir kali saya melakukan ini, saya memiliki ratusan node, mungkin hampir seribu.
mpdonadio
Terima kasih lagi. Berikut ini info lebih lanjut drupal.org/node/1681584 . Saya akan mencoba Ekspor Data Views juga
Codium
1
di mana file hasil diekspor disimpan di harddisk saat menggunakan perintah Drush?
Ahmad Zain
2
@AhmadZain Output disimpan di mana pun Anda menentukan untuk melakukannya. Perintah di atas harus menyimpan file di tempat yang sama dengan tempat Anda menjalankan perintah.
mpdonadio
5

Anda bisa masuk ke daftar semua konten di halaman admin Drupal (/ admin / konten di D7), lalu filter berdasarkan jenis konten, lalu pilih semua, lalu pilih 'Node export' dari menu dropdown

tog22
sumber
2
Iya nih! Ini adalah jawaban yang saya cari. Ini jauh lebih mudah daripada harus menginstal dan mengonfigurasi Views Bulk Operations (VBO). Untuk solusi sederhana seperti itu, sangat sulit ditemukan.
Magmatik
1
Itu hanya mengekspor halaman konten saat ini dari jenis itu, bukan SEMUA konten jenis itu.
RichardAtHome
then select 'Node export' from the dropdown menumenu apa?
Ejaz
mungkin menjawab pertanyaan terakhir itu. Saya juga tidak melihat ini sampai saya menonaktifkan Tampilan admin_views_node yang telah dihidupkan untuk situs itu, dan membersihkan cache. sekarang di dropdown Opsi Pembaruan di admin / konten, saya melihat opsi untuk 'ekspor simpul'. Atau, jika saya mengaktifkan Tampilan itu, saya dapat mengeditnya, pilih bidang Operasi Massal dan tambahkan operasi 'simpul ekspor'.
petednz - fuzion
0

Anda dapat menggunakan modul ekspor Node untuk tujuan yang disebutkan di atas. Ia mengatakan:

Ini memungkinkan pengguna untuk mengekspor node dan kemudian mengimpornya ke instalasi Drupal lain, atau di situs yang sama. Dengan menggunakan modul ini, Anda dapat menghemat banyak waktu dengan membuat situs web baru yang memiliki simpul serupa dengan situs web yang telah Anda buat, memigrasi node ke versi Drupal baru, atau antara situs pengembangan / pementasan / produksi.

Astha chauhan
sumber
0

Ini mungkin membantu Anda dalam membagi hasil. Skrip bash sederhana:

#!/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
wit0ld
sumber