array( 'name' => 'Keyword', 'required' => true, ), 'sort' => array( 'name' => 'Sort by', 'type' => 'list', 'required' => false, 'values' => array( 'Pertinence' => 'relevanceblender', 'Popularité' => 'popularity-rank', 'Prix : par ordre croissant' => 'price-asc-rank', 'Prix : par ordre décroissant' => 'price-desc-rank', 'Note moyenne des commentaires' => 'review-rank', 'Dernières nouveautés' => 'date-desc-rank', ), 'defaultValue' => 'popularity-rank', ) )); public function getName(){ return 'Amazon - '.$this->getInput('q'); } public function collectData() { $url = self::URI.'s/?field-keywords='.urlencode($this->getInput('q')).'&sort='.$this->getInput('sort'); $html = getSimpleHTMLDOM($url) or returnServerError('Could not request Amazon.'); foreach($html->find('li.s-result-item') as $element) { $item = array(); // Title $title = $element->find('h2', 0); $item['title'] = html_entity_decode($title->innertext, ENT_QUOTES); // Url $uri = $title->parent()->getAttribute('href'); $uri = substr($uri, 0, strrpos($uri, '/')); $item['uri'] = substr($uri, 0, strrpos($uri, '/')); // Content $image = $element->find('img', 0); $price = $element->find('span.s-price', 0); $price = ($price) ? $price->innertext : ''; $item['content'] = '
'.$price; $this->items[] = $item; } } }