Afbeeldingen mee-importeren (Drupal)

Uit DeVliegendeWiki

(Doorverwezen vanaf Afbeeldingen mee-importeren)
Ga naar: navigatie, zoeken

Zie ook Importeren van artikelgegevens in Übercart 1.x

Geslaagde import. De foutmeldingen aan de bovenkant van het scherm kunnen genegeerd worden. Locatie van afbeelding: /files, direct onder de Drupal-root
Geslaagde import. De afbeelding correspondeert met veld Image fid (field_image_cache), en niet met dat andere afbeelding-gerelateerde veld

Bij de ontwikkeling van een webshop in Übercart, kregen we in de zomer van 2011 een situatie waarin we zo'n 700 artikelen moesten uploaden. Bij elk van dit artikel hoort een afbeelding. Er waren overigens maar zo'n 50 afbeeldingen, dus die werden per stuk meerdere keren gebruikt. Vergelijkbare situaties hebben we vaker aan de hand gehad. Vandaar: Hoe kun je verwijzingen naar afbeeldingen mee-importeren?. Dit artikel is beperkt tot Drupal 5 en Ubercart 1.

Importeren gaat standaard met de Node import-module. In Drupal 5 heb je per content-type een add-on nodig, die er voor zorgt dat de betreffende extra gedefineerde velden meegeïmporteerd worden. Voor Übercart heb je hier zo'n module. Übercart noemt dit contribs. Deze contrib ondersteunt echter niet het afbeeldingsveld dat Übercart gebruikt. Het betreffende veld wordt compleet genegeerd. Dat is waarom je geen foutmelding krijgt.

Er bestaan verschillende add-ons/contribs om afbeeldingen mee te kunnen importeren. Die add-ons lijken add-hoc te zijn gemaakt, niet te worden onderhouden, en slechts te functioneren in combinatie met specifieke versies van de Node import-module.

Bestandsformaten

Standaard worden png, jpg, en gif ondersteund. Dit wordt bepaald door de ImageField module (zie verderop). Voor overige bestandsformaten zijn er mogelijk patches beschikbaar [1].

Add-on

De Node Importmodule heeft per contenttype een beschrijving nodig, die soms als add-ons beschikbaar is. Daarom is importeren van content in een maatwerk content-type problematisch: je moet zelf voor zo'n beschrijving zorgen. Voor Übercartbestaat zo'n add-on, of contrib in Übercartterminologie. Deze add-on ondersteunt echter niet het afbeeldingsveld dat Übercart gebruikt. Het betreffende veld wordt compleet genegeerd. Dat is waarom je geen foutmelding krijgt.

Er bestaan verschillende add-ons om deze tekortkoming te verhelpen. Die add-ons lijken add-hoc te zijn gemaakt en niet te worden onderhouden. Het werkt overigens prima, maar alleen in de juiste combinatie van add-ons.

  • Voor importeren van content in Drupal 5/Übercart 1.x, is Node Import de enige relevante module. We hebben Node Import 5.x-1.6 nodig [2]
  • Contenttype-beschrijving-contrib voor Übercart: Product import via CSV using Node import
  • Afbeeldingspatch: Posting #57 of anders #52: Patch voor Node import 5.x-1.6 voor bestand modules/node_import/supported/cck/content.inc.

Overig

  • Locatie voor bestanden: /files, dus de map files, direct onder de Drupal-root;
  • Bestanden moeten inclusief extentie genoemd worden in het export-bestand, maar hoeven niet tussen dubbele aanhalingstekens te staan;
  • Waarschuwingen omtrent de locatie van een Tmp-map lijken niet relevant te zijn. Bijwerken van locatie van standaard-tmp-map in Administer > Site configuration > File system > Temporary directory lijkt niet uit te maken;
  • Betreffende veld voor afbeeldingen: Zie een van de afbeeldingen hiernaast. Je hoeft niet vantevoren iets te doen met Image Cache en/of dat deze module het betreffende bestand al moet hebben verwerkt.
Persoonlijke instellingen