Importeren van artikelgegevens in Übercart 1.x
Uit DeVliegendeWiki
Zie ook Node Import (Drupalmodule) en Afbeeldingen mee-importeren (Drupal)
Je kunt vrij makkelijk artikelgegevens importeren vanuit een CSV-bestand met behulp van module Node_import en additioneel bestand uc_product.inc. Erg prettig aan Node import is, dat het merendeel van de tussentijdse instellingen bewaard blijven: Dus als je na enige omzwervingen terugkomt bij deze wizard, is er een goede kans dat al je instellingen bewaard zijn gebleven.
Inhoud |
1. Data klaarmaken
- Voeg voorafgaand aan import een kolom shippable toe. Mogelijke waardes: 0, 1, f, t, no, yes (en wellicht nog een paar waardes)
- Het is handig als de eerste rij kolomtitels bevat. node_import herkent dat vanzelf, en bij het importeren kunnen de titels handig van pas komen
- Drupal kan niet overweg met komma's als decimaalscheidingstekens. In OpenOffice Calc kun je via Format cells (F1) in de vormgeving van de betreffende cellen komma's in punten aanpassen door de taal te veranderen in bv. Engels - US. Daarvoor hoef je op je computer binnen Regionale instellingen niets aan te passen;
- In april 2011 bleek Drupal prima overweg te kunnen met TAB als scheidingsteken voor velden. Dat is gunstig, omdat komma's gemakkelijk binnen velden gebruikt kunnen worden;
- Zorg in Administer > Store administration > Configuration > Store settings > Edit > Format settings > Currency format ervoor dat komma's en punten dezelfde functie hebben als in het te importeren bestand. Anders krijg je alsnog dat komma's en punten verkeerd geinterpreteerd worden, met als resultaat dat prijzen duizend keer te hoog zijn.
- Het kan handig zijn om vantevoren module Pathauto geinstalleerd te hebben: Dan worden er automatisch handige alternatieve URL's gegenereerd voor geimporteerde nodes.
2. Module Node import configureren
- node_import is de module voor importeren van diverse soorten nodes. node_import is beschikbaar voor zowel Drupal 5 als Drupal 6
- Voor elk content type heeft node_import een additionele beschrijving nodig, die je in de map supported van node_import kunt plaatsen. Voor Ubercart is zo'n additionele beschrijving beschikbaar voor Ubercart 1.x: uc_product.inc. In deze thread zie je ook een ongeteste versie voor Ubercart 2.x. Let op: uc_product.inc heeft geen voorzieningen voor velden die door derde modules van Ubercart zijn toegevoegd, zoals de module om een minimale bestelhoeveelheid af te dwingen. Wellicht het makkelijkste om die velden handmatig bij te werken.
3. Importeren
- Importeren vindt plaats via Administer > Content management > Import content. Deze menu-optie wordt automatisch gecreerd na activatie van de node_import module
- Importeren is erg makkelijk. Zelfs als je tijdens de procedure er achter komt dat je helemaal terug moet naar het beginscherm om een ander bestand te uploaden (bv. omdat je de kolom Shippable vergeten hebt), worden tussentijdse instellingen onthouden. Het is een fantastische manier om je datamodel goed te debuggen.
- Op ca. het laatste scherm van de Node import-module kun je aangeven dat titels uniek moeten zijn. Als je wil dat bestaande artikelen niet worden overschreven, moet je hier een vinkje zetten. Als je hier geen vinkje zet, kunnen identieke artikelen twee keer voorkomen, ook al hebben ze identieke SKU's
Afbeeldingen mee-importeren
Zie Afbeeldingen mee-importeren (Übercart)
Bronnen
Categorieën/taxonomieën mee-importeren
Übercart's Catalog Module is een uitbreiding op de taxonomie-functionaliteit van Drupal. Het is een handig en flexibel systeem om tags aan producten toe te kennen, en om aan de hand van zo'n taxonomie de inhoud van een site te ontsluiten. Tot op heden vind ik het gebruik van de Catalog Module een stuk makkelijk dan het defineren van aparte velden voor producten, om daar kenmerken van de producten in onder te brengen.
De Node import-module kan in ieder geval tot op zekere hoogte taxonomieën mee-importeren. Ik weet alleen nog niet hoe dat te doen als er een hiëerarchie van termen is: Hoe geef je aan dat een te importeren veldwaarde een subterm betreft?
Voorbeeld: Voor http://slangenboren-online.nl, is een deel van de hiëerarchie als volgt:
- Diameter > Diverse diameters
- Totale lengte > Diverse lengtes
- Nuttige lengte > Diverse lengtes
De getallen die voor totale lengte en nuttige lengte worden gehanteerd, kunnen overlappen. Dus als zo'n waarde in een record vermeld staat, moet het ondubbelzinnig zijn, bij welke taxonomische term het belandt.
Concrete aanwijzingen:
- Waarschijnlijk is het handig om vantevoren de termen van de catalogus bij te werken aan de hand van de te importeren artikelen. Overigens: Taxonomieëen (dus het systeem van termen) kun je apart importeren met behulp van http://drupal.org/project/taxonomy_csv - de Taxonomy CSV import/export-module. Waarschijnlijk is dat efficiënt en kan het helpen fouten te voorkomen;
- Als termen verkeerd worden geïmporteerd, is er nog geen man overboord: Anders was het ook al handwerk geworden;
- Er is in ieder geval één situatie waarin je wel tags kunt associëren met te importeren inhoud: Als alle inhoud dezelfde tag heeft. Dat scheelt al heel veel werk. Deze mogelijkheid kun je op het laatste scherm van de wizard benutten.
- Hoofdcategorieen-subcategorieen zou je volgens sommige bronnen met een pipe kunnen aangeven. Bv. Auto's|Honda|Civic. Ik heb dat uitvoerig geprobeerd (juni 2010), maar zonder succes.
Meer mensen lijken dit probleem te hebben:
- http://www.google.nl/search?q=drupal+"node+import"+taxonomy
- http://drupal.org/node/198723
- http://drupal.org/node/162474
- http://www.ubercart.org/forum/general_discussion/2933/node_import_module_uc_addon
- http://drupal.org/node/369332
- http://drupal.org/files/issues/node_import_fix_hierachy.patch
On-the-fly genereren
Keywords mee-importeren
Je kunt keywords mee-importeren: Waarschijnlijk kun je ergens in Drupal defineren welke meta tags je gebruikt, en vervolgens verschijnen die ook bij importeren. Bv.:
- Abstract
- Copyright
- Description
- GeoURL
- Keywords
- Robot
Vragen & antwoorden
- Misschien is het toch mogelijk om taxonomieen automatisch te laten generen? --> Nee, zie hoofdstuk in dit artikel over taxonomieën
