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)
Meld u aan als affiliate bij TradeTrackerzoek en meld je aan voor een campagne, na een goedkeuring (van jouw website) heb je toegang tot het promotiematriaal.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
- 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 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:

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.




12 Comments
Wanneer je het op het artikel
Door Doneeo (niet gecontroleerd) op
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
Door Dave op
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?
Nee dit is precies wat ik
Door Doneoo (niet gecontroleerd) op
Nee dit is precies wat ik bedoel. Gaaf! Thanks!
Drupal 6 of 7
Door Gianni (niet gecontroleerd) op
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
Hellow,
Door Gianni (niet gecontroleerd) op
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.
Vakantieplus is gebasseerd op
Door Dave op
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
spelling!!!
Door wim van den brande (niet gecontroleerd) op
Tutorial was min of meer handig maar "je selecteerd" wordt nog altijd met een T geschreven .....
drupal csv import - feeds
Door Dave op
Datafeed
Door Zimmie (niet gecontroleerd) op
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?
De feeds module kan enkel
Door Dave op
Feeds processor mapping
Door Stijn (niet gecontroleerd) op
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
XML data import drupal
Door Dave op
Voor XML bestanden zijn er inderdaad geen "mappers". Hiervoor zijn extra feed plugins nodig. Met de XPATH parser plugin zou het normaal moeten gaan (nog niet zelf getest). Of je kan eens kijken tussen andere feeds plugins: http://drupal.org/node/856644
Mvg Dave
Reactie toevoegen