Affiliate datafeeds (csv) importeren in drupal

Enkele weken terug vertelde ik u al over mijn Drupal affiliatefeeds project. In deze blogpost een "mini" handleiding ivm het importeren van (affiliate) CSV data in uw drupal website.
benodigdheden:
Modules: feeds + bijhorende modules, imagecashe, filefield, views, tagadelic, enz ... (deze tutorial gaat enkel over de "feeds" module, en het importeren van data)
Affiliate provider: Tradetracker, daisycon, M4N, tradedoubler, enz... (tradetracker is mijn favorietje)
Kennis: Drupal gevorderd (modules Instaleren is geen probleem, je weet wat content types zijn, je kan deze aanmaken met verschillende cck velden, en je weet ook hoe je deze kan manipuleren met views en andere drupal modules)
 

  1. Meld u aan als affiliate bij TradeTracker
  2. zoek en meld je aan voor een campagne, na een goedkeuring (van jouw website) heb je toegang tot het promotiematriaal.
  3. Download een datafeed of productfeed, ik persoonlijk heb gekozen om CSV bestanden te gebruiken, maar je kan evengoed de XML versies gebruiken.

    Deze stappen zijn beter uitgelegd in de blog: Tradetracker datafeed aanmaken
  1. Open de datafeed en bekijk welke velden je wil gaan gebruiken . Om deze tutorial te schrijven ga ik gebruik maken van 6 fictionele velden: Titel, afbeelding, omschrijving, prijs, url, categorie

Nu dat de velden bekend zijn kan je starten met het Drupal gedeelte.

1.contentypes aanmaken

 Je maakt een contenttype aan waar alle eerder vermelde velden in kunnen opgeslagen worden. Dus je hebt een contenttype nodig met:

  • Titel -> standaard drupal veld
  • afbeelding -> CCK filefield + imagecashe + imageapi
  • omschrijving: standaard drupal veld
  • prijs: CCK textfield
  • categorie: Taxonomy/Vocabulary (standaard drupal feature)
  • URL: CCK link of textfield

2. Feeds mapper aanmaken

Standaard zijn er enkele mappers toegevoegd aan de module, maar ik ga starten met een custom feeds mapper aan te maken.

Ga naar: admin -> feedsimporter -> klik 'new importer' (uwdomein.be/admin/build/feeds/create)
plaats een titel voor jouw importer en een omschrijving en bewaar uw gegevens. Nieuw venster gaat open:

Drupal affiliatefeeds tutorial img1Drupal feeds: Basic instellingen

Naam en omschrijving hebben we gedaan in vorige stap
attached to: selecteer een contenttype (maakt niet zoveel uit welk dit gaat zijn,... story bv)
refresh time: kan u zelf bepalen

Drupal affiliatefeeds: Fetcher

fetcher change: file upload of http request (ik koos hier voor de httprequest methode)
fetcher instellingen: selecteer 'auto detect'

Drupal datafeed parser

Parser change: selecteer CSV parser
instellingen: hier kan je kiezen of uw lijst door een komma of puntkomma gescheiden word (komma)

feeds processor

datafeed processor change: selecteer 'node processor'
datafeed processor instellingen: inhoudstype, invoerformaat, autheur, expire, existing nodes

  • inhoudstype: Hier selecteer je het aangemaakte contentype dat je gemaakt hebt in het begin van deze tutorial
  • invoerformaat: filtered of full html
  • autheur: uw keuze
  • expire: never
  • existing nodes: replace

feeds processor mapping: het in kaart brengen van de CSV elementen

Hier ga je zorgen dat de elementen van de affiliatefeed (CSV) worden gelinked aan de velden van het inhoudstype. Hieronder een voorbeeld Van vakantieplus.be:

Drupal affiliate csv bestand importeren in de database

Bovenstaande afbeelding lijkt me vrij duidelijk. bij 'name of source field' plaats je de benaming van de bron (CSV bestand), Select target is het inhoudstype, of de plaats waar het terecht moet komen (drupal)

 

3. intergreren van csv data

Je gaat naar 'inhoud aanmaken' (...node/add) en je selecteert het inhoudstype dat je aan uw mapper hebt gelinkt. (ik heb 'story' als vb gebruikt in deze tutorial) Op het inzend formulier plaats je een titel en afhankelijk van welke instellingen die je gebruikt hebt voor de feed fetcher ga je een url moeten plaatsen of uw datafeed rechtstreeks uploaden. (.. evetueel andere optionele velden)... save. je kan op deze nieuwe pagina nu gaan importeren, door boven in de tabs op 'import' te drukken.

Als alles goed verlopen is heb je nu een aantal artikelen, die je kan manipuleren met views, ubercart of andere drupal modules.

 

Haal meer uit uw site met TradeTracker

Comments

Wanneer je het op het artikel klikt gaat deze direct door naar de betreffende site. Is het ook mogelijk om de bezoeker nog vast te houden met een aparte info pagina van het product?

Groetjes,

Op vakantieplus.be gaan de node titels naar de node, dus een pagina binnen Drupal. De 'meer info' links gaan direct naar de externe website.

Of bedoelde je iets anders?

Met veel plezier ben ik op je artikel van de datafeeds in drupal terechtgekomen. Bij het importeren van datafeeds via http blijft de importer steeds hangen en krijg ik deze foutmelding "Er is een AJAX HTTP fout opgetreden. HTTP-resultaatcode: 200 Debug informatie volgt. Pad: /batch?id=21&op=do Statustekst: OK Antwoordtekst: Fatal error: Unsupported operand types in /home/etickets/public_html/sites/all/modules/feeds/includes/FeedsConfigurable.inc on line 149"

Ook na het installeren van deze patch (http://drupal.org/node/1213472#comment-4832946)

Nu vraag ik me spontaan af of deze tutorial ook geldig is voor drupal 7 of enkel drupal 6 compatibel? (http://drupal.org/node/959984)

Kan iemand me verder helpen?
gianni

In reply to by Gianni (not verified)

Hellow,

Het is me toch gelukt na installeren van bovenstaande patch en wat prutsen.
Heb een eerste test gedaan door Aanzee.com affiliates in te laden.

Onderstuusen een view aangemaakt dat filtert op nederland als test. (http://www.eticketslondon2012.com/Nederland)

Nu heb ik 1 probleem. Hoe link ik de URL door naar de website. nu staat de URL gewoon als platte tekst (ingekort momenteel). Kan nergens vinden hoe ik bvb. BESTEL NU of LEES MEER met hieronder de URL aanmaak.

In reply to by Gianni (not verified)

Vakantieplus is gebasseerd op Drupal6. (ter info)

Gebruik hiervoor CCK (in core voor D7)..en installeer de module "link"http://drupal.org/project/link .. in deze module kan je bepalen hoe de link moet getoond worden. Verander bv de settings van het veld naar "statische tekst" om een linkje te bouwen met altijd dezelfde tekst (BV:Lees meer)

grts Dave

Vraagje ik doet een datafeed die ook de price range laat zien
(als je op bevoorbeeld kleding ook op prijzen kan selecteren) kan dit met dit script op kan het gewoon niet in drupal?

In reply to by Zimmie (not verified)

De feeds module kan enkel importeren, voor de manipulatie van de data gebruik je andere modules zoals Views. Zorg ervoor dat jouw prijs word geimporteerd in een integer dataveld. Met filters of exposed filters in views kan je nu een "price-range" bouwen. (ik heb dit zelf nog niet gedaan, dus ik kan je geen verdere details bezorgen)

Leuke tutorial! Voor mij als beginner ideaal om van start te gaan.
Alle stappen zijn duidelijk, behalve bij de mapping krijg ik als source enkel keuze uit een select list. Ik kan geen veldnamen zelf opgeven. Hierdoor kan ik de veldnamen uit mijn xml-bestand niet gebruiken?
Dit is wel Drupal 7 natuurlijk, waarschijnlijk is dit ondertussen gewijzigd.

Wat kan ik hieraan doen?

Alvast bedankt!

Stijn

Add new comment

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.