ПредишенСледващото

Отново се връщаме да мигрират. Доста удобно рамка, която да импортирате данни в Drupal.
Едно общо изходните формати за внос - CSV. Поддържани мигрират извън кутията. Описание и примери за работа с MigrateSourceCSV клас могат да бъдат намерени на d.org.
Има един голям недостатък за внос от CSV - подготовка на файл за импортиране:

  • ще се запише в CSV от Excell Вие няма да ни се получи необходимата кодировка UTF-8;
  • ако в дългосрочен текст (например описание на продукта), а след това neodhodimo преди да я запазите за да замени срещания на нов ред, в противен случай можете да получите вместо 5000 реда със стоки - 65000. Взето от личен опит. ;

По принцип, в мрежата има много програми за правилното преобразуването от XLS към CSV в допълнителни опции. Всички решен :-) Просто си научи "човекът", за да се подготви файловете за импортиране.

Така че, нека да се опитаме да направим внос директно от XLS.

Не знам, може би аз просто забравих как да използвате търсачката, но не можах да намеря нищо случайно се намери. Ден отиде, мисля за възможните решения. Мислех, че трябва да напише плъгин за да мигрират, така да се каже, да го научи да чете данни от XLS. Аз започнах да уча изходните Инс "извън кутията". А ето и ето - клас MigrateSourceSpreadsheet. По принцип, в този момент, можете да завършите статията.

Този клас работи с PHPExcel библиотека.

phpexcel модул предоставя API за работа с XLS файлове в техните модули. Между другото, в изпълнението на MigrateSourceSpreadsheet клас не видях използването на тези методи, но провери за този модул е ​​намерен. Може би това се дължи на настройките кеш. Фактът, че PHPExcel библиотека разполага с един виден недостатък - голяма консумация на памет при обработката на файлове. За да се реши този проблем, са разработени различни механизми за кеширане. PHPExcel модул позволява на администратора на сайта ( "администратор / довереник / система / phpexcel"), за да промените режима на кеш.

Прехвърляне на внос от ексел Drupal, Drupal 7

Най-простият пример за използване MigrateSourceSpreadsheet клас:

Във вашия файл за импортиране преименувате лист по някакъв удобен име, като "внос", в първия ред на лист имената на поставените са колони в английския език. Мигриране счита, че тези имена и техните създатели, въз основа на списък с полета за импортиране.

Всеки, обясни как работи. Нищо не можеше да разбере, че не може да има това?
Модулите всички установени.
Опитах глупаво чрез раз код щепсел (нали?), Това не е работа. Е, със свои собствени настройки. Аз не знам как да го картографира моето мнение е, че дори на продукта карта и нейните джаджа стоки (App. На търговията). Както го правят, но все още нито една от които е случило.
Можете да дъвче?

Поздрави! Благодаря ви за вниманието.
Настроена внос. Всички полета са внесени, освен таксономия гледна точка (по един на ниво).
Опитвам се да се коригира картографиране, както следва:
$ Това-> addFieldMapping ( "taxonomy_p_group", "p_group ');
$ Това-> addFieldMapping ( "taxonomy_p_group: source_type") -> defaultValue ( "три пъти дневно ');
$ Това-> addFieldMapping ( "taxonomy_p_group: create_term") -> defaultValue (TRUE);

Ако не съществува понятието, той създава от материала, а името на термин хвърля описание.
Ако срокът не съществува, за грешка и не създава материала.

Не ми казвай, какъв е проблемът?

Най-вероятно в source_type параметър. Това показва, че се кандидатства за вход. Можете да прехвърляте три пъти дневно (термин брой) или име (името на термина).
Ако сте инсталирали
$ Това-> addFieldMapping ( "taxonomy_p_group: source_type") -> defaultValue ( "три пъти дневно ');
в източник, трябва да имате броя на термините.
Ако преминете име, трябва да се посочи:
$ Това-> addFieldMapping ( "taxonomy_p_group: source_type") -> defaultValue ( "име");
Посочете стойност за срока на източника

Прехвърляне на внос от ексел Drupal, Drupal 7

Последни статии

Прехвърляне на внос от ексел Drupal, Drupal 7

Свързани статии

Подкрепете проекта - споделете линка, благодаря!