Як налаштувати експортування вузла на експорт масових вузлів


25

Я намагаюся експортувати вузол для масового експорту вузлів, але, схоже, мені потрібно вибрати кожен вузол, який потрібно експортувати окремо.

Що робити, якщо я хочу експортувати всі вузли вибраного типу вмісту? Чи я можу це зробити в "Експорт вузлів" або мені слід знайти інший модуль?

Відповіді:


25

Зробити це можна за допомогою барабану :

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

Наприклад,

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

виведе всі вузли статті до Article.txt у серіалізованому форматі. Потім ви можете використовувати "імпульс", щоб імпортувати їх:

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

Наприклад:

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

* оновлено


Дякую, але чи підходить це для великої кількості вузлів (> 1000)?
Кодіум

Теоретично, так, якщо ви даєте PHP достатньо пам'яті та встановите досить високий час виконання. Я думаю, що останній раз, коли я це робив, у мене було сотні вузлів, можливо, близько тисячі.
mpdonadio

Знову дякую. Тут можна отримати більше інформації drupal.org/node/1681584 . Я спробую також Експорт даних перегляду
Codium

1
де результат експортованого файлу, що зберігається на жорсткому диску при використанні команди Drush?
Ахмад Заїн

2
@AhmadZain Вихід зберігається там, де ви його вказали. Наведена вище команда повинна зберігати файл там, де ви запустили команду.
mpdonadio

5

Ви можете перейти до списку всього вмісту на адміністраторських сторінках Drupal (/ admin / content in D7), потім фільтрувати за типом вмісту, потім вибрати все, а потім зі спадного меню вибрати "Експорт вузла".


2
Так! Це відповідь, яку я шукав. Це набагато простіше, ніж встановлювати та налаштовувати операції масового перегляду (VBO). Для такого простого рішення знайти його було справді важко.
Чарівний

1
Це експортує лише поточну сторінку вмісту цього типу, а не ВСЕ вміст типу.
RichardAtHome

then select 'Node export' from the dropdown menuяке меню?
Еяз

це може відповісти на це останнє запитання. Я також не бачив цього, поки я не відключив перегляд admin_views_node, який було ввімкнено для цього сайту, і не очистив кеші. тепер у спадному меню "Параметри оновлення" в адміністраторі / вмісті я бачу опцію "експортування вузлів". Крім того, якщо у мене включений перегляд, я можу його відредагувати, вибрати поле "Масові операції" та додати операцію "експорт вузла".
petednz - fuzion

0

Ви можете використовувати модуль експорту вузла для вищезгаданих цілей. Він говорить:

Це дозволяє користувачам експортувати вузли, а потім імпортувати їх в іншу установку Drupal або на той самий сайт. Використовуючи цей модуль, ви можете заощадити багато часу на створенні нових веб-сайтів, які мають схожі вузли з уже створеними веб-сайтами, перенесення вузлів на нові версії Drupal або між сайтами розробки / постановки / виробництва.


0

Це може допомогти вам розділити результати. Простий скрипт bash:

#!/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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.