Düğüm Dışa Aktarımı yığın düğüm dışa aktarmaya nasıl yapılandırılır?


25

Toplu düğüm dışa aktarımı için Düğüm Dışa Aktarmayı deniyorum, ancak tek tek dışa aktarmak için her düğümü seçmem gerekiyor gibi görünüyor.

Seçilen bir içerik türünün tüm düğümlerini dışa aktarmak istersem ne olur? Düğüm Verme işleminde bunu yapmamın bir yolu var mı, yoksa başka bir modül bulmalı mıyım?

Yanıtlar:


25

Drush ile yapabilirsiniz :

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

Örneğin,

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

Tüm makale düğümlerini seri hale getirilmiş biçimde article.txt dosyasına gönderecektir. Daha sonra onları almak için drush kullanabilirsiniz:

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

Örneğin:

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

*güncellenmiş


Teşekkürler, fakat bu büyük miktarda düğüm için uygun mu (> 1000)?
Ağustos'ta

Teorik olarak, evet, PHP'ye yeterli bellek verirseniz ve oldukça yüksek bir yürütme süresi ayarlarsanız. Sanırım bunu son yaptığımda belki de bine yakın olan yüzlerce düğümüm vardı.
mpdonadio

Tekrar teşekkürler. İşte daha fazla bilgi drupal.org/node/1681584 . Views Data Export'u da deneyeceğim
Codium

1
Drush komutunu kullanırken elde edilen sonuç sabit diskte depolanan sonuç nerede?
Ahmad Zain

2
@AmadmadZain Çıktı, belirttiğiniz her yerde saklanır. Yukarıdaki komut, dosyayı komutu çalıştırdığınız yerde saklamalıdır.
mpdonadio

5

Drupal'ın yönetici sayfalarındaki (/ D7'deki / admin / içerik) tüm içeriğin listesine gidip içerik türüne göre filtreleyebilir, sonra tümünü seçebilir, ardından açılır menüden 'Düğüm dışa aktarma' seçimini yapabilirsiniz.


2
Evet! Aradığım cevap bu. Bu, Views Bulk Operations (VBO) yüklemek ve yapılandırmak zorunda kalmaktan çok daha kolaydır. Böyle basit bir çözüm için, bulmak gerçekten zordu.
Magmatic 15

1
Bu, TÜM türünün içeriğini değil, yalnızca o tür içeriğin geçerli sayfasını verir.
RichardAtHome

then select 'Node export' from the dropdown menuhangi menü
Ejaz

bu son soruyu cevaplayabilir. Ayrıca, bu site için açılmış olan admin_views_node View'u devre dışı bırakıp önbellekleri temizleyene kadar bunu göremiyordum. Şimdi yönetici / içerikteki Güncelleme Seçenekleri açılır menüsünde 'düğüm dışa aktarma' seçeneği görüyorum. Alternatif olarak, eğer bu Görünüm etkinse, düzenleyebilirim, Toplu İşlemler alanını seçip 'düğüm dışa aktarma' işlemini ekleyin.
petednz - fuzion

0

Düğüm verme modülünü yukarıda belirtilen amaç için kullanabilirsiniz . Diyor ki:

Kullanıcıların düğümleri dışa aktarmasına ve daha sonra başka bir Drupal kurulumuna veya aynı siteye içe aktarmasına izin verir. Bu modülü kullanarak, daha önce yapmış olduğunuz web sitelerine benzer düğümleri olan yeni web siteleri ayarlamak, düğümleri yeni Drupal sürümlerine geçirmek veya geliştirme / evreleme / üretim siteleri arasında çok zaman kazanabilirsiniz.


0

Bu, sonuçları bölmede size yardımcı olabilir. Basit bash betiği:

#!/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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.