Feeds import

black71 képe

Következő probléma megoldására kérek/keresek megoldást.
Feeds -el szeretnék node -kat importálni 1node importhoz 2db csv file van.
A csv fájlokban az azonosítót (id) leszámítva az oszlopok és mezők értékei eltérőek.
Feeds -ben készítettem két sablont az importhoz "Node processor" -al. Az azonosító mezőnek mind a két esetben GIUD érték van beállítva, és ennek ellenére az importok külön node -kat készítenek a frissítés helyet.
Mit csinálok rosszul?
export 1:

  1. $feeds_importer = new stdClass();
  2. $feeds_importer->disabled = FALSE; /* Edit this to true to make a default feeds_importer disabled initially */
  3. $feeds_importer->api_version = 1;
  4. $feeds_importer->id = 'node';
  5. $feeds_importer->config = array(
  6. 'name' => 'Node',
  7. 'description' => 'Node import',
  8. 'fetcher' => array(
  9. 'plugin_key' => 'FeedsFileFetcher',
  10. 'config' => array(
  11. 'allowed_extensions' => 'txt csv tsv xml opml',
  12. 'direct' => 1,
  13. ),
  14. ),
  15. 'parser' => array(
  16. 'plugin_key' => 'FeedsCSVParser',
  17. 'config' => array(
  18. 'delimiter' => ';',
  19. 'no_headers' => 0,
  20. ),
  21. ),
  22. 'processor' => array(
  23. 'plugin_key' => 'FeedsNodeProcessor',
  24. 'config' => array(
  25. 'expire' => '-1',
  26. 'author' => '1',
  27. 'mappings' => array(
  28. 0 => array(
  29. 'source' => 'ID',
  30. 'target' => 'guid',
  31. 'unique' => 1,
  32. ),
  33. 1 => array(
  34. 'source' => 'NEV',
  35. 'target' => 'title',
  36. 'unique' => FALSE,
  37. ),
  38. 2 => array(
  39. 'source' => 'KATEGORIA1',
  40. 'target' => 'field_kategoria',
  41. 'unique' => FALSE,
  42. ),
  43. 3 => array(
  44. 'source' => 'KATEGORIA2',
  45. 'target' => 'field_kategoria',
  46. 'unique' => FALSE,
  47. ),
  48. 4 => array(
  49. 'source' => 'KATEGORIA3',
  50. 'target' => 'field_kategoria',
  51. 'unique' => FALSE,
  52. ),
  53. 5 => array(
  54. 'source' => 'KATEGORIA4',
  55. 'target' => 'field_kategoria',
  56. 'unique' => FALSE,
  57. ),
  58. ),
  59. 'update_existing' => '2',
  60. 'input_format' => 'full_html',
  61. 'authorize' => 1,
  62. 'skip_hash_check' => 0,
  63. 'content_type' => 'cikkek',
  64. ),
  65. ),
  66. 'content_type' => '',
  67. 'update' => 0,
  68. 'import_period' => '-1',
  69. 'expire_period' => 3600,
  70. 'import_on_create' => 1,
  71. 'process_in_background' => 0,
  72. );

export 2:
  1. $feeds_importer = new stdClass();
  2. $feeds_importer->disabled = FALSE; /* Edit this to true to make a default feeds_importer disabled initially */
  3. $feeds_importer->api_version = 1;
  4. $feeds_importer->id = 'node_kepek';
  5. $feeds_importer->config = array(
  6. 'name' => 'Node képek',
  7. 'description' => 'Node képek import',
  8. 'fetcher' => array(
  9. 'plugin_key' => 'FeedsFileFetcher',
  10. 'config' => array(
  11. 'allowed_extensions' => 'txt csv tsv xml opml',
  12. 'direct' => 1,
  13. ),
  14. ),
  15. 'parser' => array(
  16. 'plugin_key' => 'FeedsCSVParser',
  17. 'config' => array(
  18. 'delimiter' => ';',
  19. 'no_headers' => 0,
  20. ),
  21. ),
  22. 'processor' => array(
  23. 'plugin_key' => 'FeedsNodeProcessor',
  24. 'config' => array(
  25. 'expire' => '-1',
  26. 'author' => '1',
  27. 'mappings' => array(
  28. 0 => array(
  29. 'source' => 'ID',
  30. 'target' => 'guid',
  31. 'unique' => 1,
  32. ),
  33. 1 => array(
  34. 'source' => 'KEP',
  35. 'target' => 'field_kep',
  36. 'unique' => FALSE,
  37. ),
  38. 2 => array(
  39. 'source' => 'KEPEK',
  40. 'target' => 'field_galeria',
  41. 'unique' => FALSE,
  42. ),
  43. ),
  44. 'update_existing' => '2',
  45. 'input_format' => 'full_html',
  46. 'authorize' => 1,
  47. 'skip_hash_check' => 0,
  48. 'content_type' => 'cikkek',
  49. ),
  50. ),
  51. 'content_type' => '',
  52. 'update' => 0,
  53. 'import_period' => '-1',
  54. 'expire_period' => 3600,
  55. 'import_on_create' => 1,
  56. 'process_in_background' => 0,
  57. );
Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
leonidasz képe

Szia!

Ha 1. csv-t újraimportálod, akkor frissíti a beimportáltakat, ha volt benne változás, vagy akkor is újakat hoz létre?
Biztos, hogy karakterre pontosan azonos az id? nincs benne space, vagy tab vagy bármi? Egyforma a tagolása a két csvnek? ; vagy , ?

0
0
black71 képe

Azonos az ID.
Inkább az lehet hogy nem az történik amit vártam volna, vagyis a GUID nem globális, csak azonos import template -nél érvényes. Abban az esetben sikerült két eltérő importnál a frissítés ha címet is egyedinek állítottam :(.

0
0

Drupal 5.x, 7.x

leonidasz képe

leonidasz képe

Az id mezőt is létrehoztad a tartalomtípusban?
2x kell felvenni mint a commerce termék esetében a cikkszámot.

0
0
black71 képe

Nem működik úgysem ha az ID -t megadom GUID -nak és CCK mezőbe is importálom az ID -t. Uniqe fieldet is próbáltam, de hiába.

0
0

Drupal 5.x, 7.x

leonidasz képe

Napokban volt pont egy ilyen feladat, és szépen működik:

1: csvben van egy id oszlop abban mindenféle kitalált azonosító (a lényeg h ne legyen egyezés) + ezen kívül még olyan oszlopok amik kellenek

2: felvettem a feedsbe az header alapján a mezőket, amely mezők tartalmait frissíteni szeretném.

3: feedsben be van állítva hogy frissítse a már meglévő tartalmakat

4 id-t 2x vettem fel, 1x mint mező és 1x min GUID

5: mezőnél beállítottam: unique - azaz ez alapján fog azonosítani.

6: import - és lám tökéletesen frissíti az id alapján a tartalmakat.

alternatíva:
1-beimportálod amit szeretnél
2-views data export-al felépíted a csv-t - innentől mindig a frissen exportáltal dolgozz
3-importálsz NID alapján

de ez elég körülményes :)

0
0