Amazon Wishlist / Amazon Wunschzettel
Eingetragen von kloewer@drupal.org (79)
am 21.04.2010 - 17:37 Uhr in
am 21.04.2010 - 17:37 Uhr in
Gibt es ein Modul um einen Amazon Wunschzettel in Drupal darzustellen?
http://www.amazon.de/gp/help/customer/display.html?ie=UTF8&nodeId=504924...
Oder gibt's da ne andere Lösung für?
- Anmelden oder Registrieren um Kommentare zu schreiben
Also es gibt einen Code, der
am 21.04.2010 - 18:01 Uhr
Also es gibt einen Code, der ein RANDOM ITEM aus der Wunschliste darstellen soll.
I got this wild hair up my nose about "wouldn't it be cool to show a random item from my Amazon wishlist on my site?" the other day. I looked around, found plenty of wishlist scripts, but none of them did what I wanted. They all showed the first X items on your list sorted by Y, for various Xs and Ys. Nothing random out there.
So I dug around and learned and read and dug some more. I found the Drupal Amazon module, which seemed promising. It had item lookup and wishlist support. Seems great! I downloaded and installed it and found it didn't do wishlists. Bummer. But it did include a way to make raw AWS calls, so I should be set.
I was up all night, but I got it to work. You can see it in the bottom-most block on the right -- a random item from my wishlist! I'm here to show you how I did it..but first a disclaimer. I'm not a PHP programmer, I've never worked with the AWS before, and it was late at night. Forgive my code.
http://www.garyarnold.com/content/Drupal-random-Amazon-wishlist-item
Das ganze habe ich auch noch
am 21.04.2010 - 18:02 Uhr
Das ganze habe ich auch noch mal auf einer deutschen Seite gefunden:
Amazon-Wunschzettel in einem Block einbinden
Danke an Gary Arnold für den ursprünglichen Code.
Dazu wird das Amazon-Modul für Drupal benötigt. Es reicht in der Modulverwaltung das Amazon-API-Modul zu aktivieren. Wer möchte kann in den Einstellungen zu dem Amazon-Modul noch seine Affiliate-ID und den Amazon-API-Key hinterlegen, dies ist aber nicht unbedingt notwendig, dem Modul wurde eine funktionierende ID, bzw. Key beigelegt.
Jetzt in der Blockverwaltung einen neuen Block mit folgendem Inhalt anlegen (nicht vergessen den PHP-Parser bei den Eingabeformaten zu aktivieren!):
http://www.magenbrot.net/wiki/linux/lamp/drupal/amazon-wunschzettel_in_e...
Code:
am 21.04.2010 - 18:04 Uhr
Der dazugehörige Code:
<?php
$list = '3V4RX81EM9KP';
$params = array(
'ListType' => 'WishList',
'ListId' => $list,
'ResponseGroup' => 'ListFull',
'IsOmitPurchasedItems' => 1,
);
$results = amazon_http_request('ListLookup', $params);
if (!empty($results->Error)) {
return;
}
$total_items = (int)$results->Lists->List->TotalItems;
$random_item = rand(1, $total_items) - 1;
$page = (int)($random_item / 10) + 1;
$item_on_page = $random_item % 10;
$params = array(
'ListType' => 'WishList',
'ListId' => $list,
'ResponseGroup' => 'ListItems',
'ProductPage' => $page
);
$results = amazon_http_request('ListLookup', $params);
if (empty($results->Error)) {
$asin = $results->Lists->List->ListItem[$item_on_page]->Item->ASIN;
$items = amazon_item_lookup($asin);
if (is_array($items)) {
$item = array_pop($items);
$item[detailpageurl] .= '%26colid='.$list;
amazon_item_save($item);
$markup = theme('amazon_item', $item, 'details');
print $markup;
}
}
?>
Error:
am 21.04.2010 - 18:11 Uhr
Ich bekomme allerdings dabei folgende Fehlermeldung:
Fatal error: Call to undefined function amazon_item_save() in /www/htdocs/drupal/includes/common.inc(1695) : eval()'d code on line 34
Drupal 6.16
MySQL-Datenbank 5.0.67
PHP 5.2.10
Amazon API 6.x-1.0
Hi zusammen, habe den Code
am 30.04.2010 - 15:49 Uhr
Hi zusammen,
habe den Code etwas überarbeitet. Bei einem der letzten Releases des Amazon-Moduls hat sich wohl einiges geändert. Die Funktion amazon_item_save() ist komplett rausgeflogen. Die aktuellste Version des Codes findet ihr immer hier.
Gruß,
Oli