Migrați importul de la drupal excel, drupal 7

Din nou ne întoarcem să migrăm. Un cadru destul de la îndemână pentru importul de date în Drupal.
Una dintre cele mai comune formate sursă pentru import este CSV. Acesta acceptă migrarea din cutie. Descrierea și exemplele de lucru cu clasa MigrateSourceCSV pot fi găsite pe d.org.






Există un mare dezavantaj atunci când importați din CSV - pregătirea fișierului pentru import:

  • Dacă salvați în CSV de la Excell, nu veți obține codificarea utf-8 de care avem nevoie;
  • dacă în text lung (de exemplu, descrierea produsului), apoi neodhodimo înainte de a salva pentru a înlocui aparițiile NEWLINE, altfel puteți obține în loc de 5000 de linii cu produse - 65000. Retrieved pe experiența personală. ;

În principiu, rețeaua are numeroase programe pentru conversia corectă de la xls la csv cu opțiuni suplimentare. Totul este rezolvat :-) Rămâne doar să înveți "persoana" să pregătească fișierele pentru import.

Deci, să încercăm să facem importuri direct de la xls.

Nu știu, poate că am uitat să folosesc căutarea, dar nu am găsit nimic. Ziua a mers în jur, gândindu-se la soluții posibile. Am hotărât să scriu plug-in-ul pentru a migra, ca să spun așa, pentru al învăța să citească datele de la xls. Am început să studiez surse-plugin-uri "afară din cutie". Și, despre o minunată clasă MigrateSourceSpreadsheet. În principiu, în acest moment puteți termina articolul.

Această clasă funcționează cu biblioteca PHPExcel.

Modulul phpexcel oferă un API pentru a lucra cu fișiere xls în modulele sale. Apropo, în implementarea clasei MigrateSourceSpreadsheet, nu am văzut folosirea acestor metode, dar am găsit verificarea prezenței acestui modul. Poate că acest lucru se datorează setărilor de cache. Faptul este că biblioteca PHPExcel are un dezavantaj cunoscut - un consum mare de memorie în timpul procesării fișierelor. Pentru a rezolva această problemă, s-au dezvoltat diferite mecanisme de caching. Modulul phpexcel oferă posibilitatea de a modifica modul de cache din site-ul admin al site-ului ('admin / config / system / phpexcel').







Migrați importul de la drupal excel, drupal 7

Cel mai simplu exemplu de utilizare a clasei MigrateSourceSpreadsheet este:

În fișierul dvs. pentru importare, redenumiți foaia cu un nume convenabil, de exemplu "import", în primul rând al foii, specificați numele coloanelor în limba engleză. Migrația numără aceste nume și creează o listă a câmpurilor disponibile pentru import pe baza acestora.

Prieten, explicați cum funcționează. Nu am putut înțelege nimic.
Am pus toate modulele.
A încercat prost prin codul de a introduce codul (astfel încât să puteți?), Nu a funcționat. Ei bine, cu setările tale. Nu știu cum de cartografiere punctul meu este că, chiar și produsul de card și produsele sale de widgeturi (App. De comert). Așa cum o fac, dar tot nu a funcționat.
Poți să mestegi?

Salutări! Vă mulțumesc pentru atenție.
Configurați importul. Toate câmpurile sunt importate, cu excepția termenilor de taxonomie (cu un nivel).
Încerc să configurez maparea în felul următor:
$ this-> addFieldMapping ('taxonomy_p_group', 'p_group');
$ this-> addFieldMapping ('taxonomy_p_group: source_type') -> defaultValue ('tid');
$ this-> addFieldMapping ('taxonomy_p_group: create_term') -> defaultValue (TRUE);

Dacă termenul există, creează materialul, dar numele termenului aruncă în descriere.
Dacă termenul nu există, produce o eroare și nu creează un material.

Nu-mi spuneți ce este problema?

Cel mai probabil în parametrul source_type. El indică faptul că trimiteți la intrare. Poți să transmiți un cuvânt (nume de termen) sau un nume (un nume de termen).
Dacă ați instalat
$ this-> addFieldMapping ('taxonomy_p_group: source_type') -> defaultValue ('tid');
apoi în sursă ar trebui să aveți numărul de termeni.
Dacă treceți numele, trebuie indicat:
$ this-> addFieldMapping ('taxonomy_p_group: source_type') -> defaultValue ("nume");
Clarificați care este semnificația termenului din sursă

Migrați importul de la drupal excel, drupal 7

Ultimele articole

Migrați importul de la drupal excel, drupal 7







Articole similare

Trimiteți-le prietenilor: