[РЕШЕНО] Node Import - импорт материалов с иерархией таксономии.

Главные вкладки

Аватар пользователя 11th_level 11th_level 21 декабря 2010 в 18:51

Как импортировать ноды с иерархией таксономии?
Т.е. у каждой ноды есть термин, но этого термина есть родитель и нужно, чтобы ноде присваивался термин именно из этого родителя. Некоторые термины дублируются, но родители у них разные.

Комментарии

Аватар пользователя VasyOK VasyOK 21 декабря 2010 в 20:05

И что работает? А как разделитель указали? А какую версию Node Import использовали? А какая примерно у вас структура словаря?

Аватар пользователя q2_faith q2_faith 21 декабря 2010 в 21:03

"VasyOK" wrote:
И что работает? А как разделитель указали? А какую версию Node Import использовали? А какая примерно у вас структура словаря?

при существующих терминах с иерархией, можно указать ее через >> и работает)

Аватар пользователя 11th_level 11th_level 21 декабря 2010 в 21:44

не работает Sad

q2_faith
а в cvs файле между терминами и разделителем иерархии нужны пробелы или нет?
указывал и через >> и через > и ставил пробелы между ">>" и терминами и побывал без пробелов.

отключил Hierarchical Select , убрал галочки с "теги" и "множественный выбор"
термины уже есть в словаре. должно же работаеть.. но нодам вообще никакой термин не привязывается.

node import 6.x-1.0-rc4

Аватар пользователя q2_faith q2_faith 21 декабря 2010 в 21:56

использую node_import-6.x-1.x-dev

"11th_level" wrote:
а в cvs файле между терминами и разделителем иерархии нужны пробелы или нет?

без пробелов
"11th_level" wrote:
отключил Hierarchical Select

лучше вообще удалить

Аватар пользователя 11th_level 11th_level 23 декабря 2010 в 18:32

dev версия видит разделители, но она пропускает сам импорт... первые два раза процесс импорта прошел, было написано, что всё прошло успешно, но ни одна нода не залилась.

Аватар пользователя 11th_level 11th_level 24 декабря 2010 в 2:45

Заработало после того, как почитал http://drupal.org/project/issues/node_import и изменил в unicode.inc

<?php
function drupal_strlen($text) {
  global 
$multibyte;
  if (
$multibyte == UNICODE_MULTIBYTE) {
    if (
is_array($text)) {
      return 
mb_strlen($text[0]);
    } else {
      return 
mb_strlen($text);
    }
  } else {
    
// Do not count UTF-8 continuation bytes.
    
return strlen(preg_replace("/[\x80-\xBF]/"''$text));
  }
}
?>

Ещё пришлось в mysql в таблице vocabulary найти свой словарь и поменять там значение hierarchy на 1, а то на 5 шаге мне даже не предлагалось выбрать разделитель - из-за того, чт я импортировал термины через taxonomy csv

Но импортировал не dev-версией, а node import 6.x-1.0-rc4

Аватар пользователя itm itm 28 января 2012 в 15:22

Скажите это надо в файле править - выставлять >> ? У меня например тысяча строк. Наверно я неправильно понял - это же долго. Подскажите пожалуста если конечно есть другой способ.